主流程序語言大PK 該學(xué)哪一種?
今天這篇文章篩選出一些主流程序語言,對(duì)程序語言特性與環(huán)境稍作介紹,希望可以幫助到一些程序語言初學(xué)者與有興趣學(xué)習(xí)程序語言的朋友。供大家了解與選擇,少走彎路。Java、C++、C#、Python、PHP當(dāng)然,這些僅是我推薦的。我還將介紹其他主流程序語言與適于初學(xué)者學(xué)習(xí)的程序語言與一些程序語言學(xué)習(xí)指導(dǎo)。
Java,面向?qū)ο蟆踩?、跨平臺(tái)、強(qiáng)大穩(wěn)健、流行的程序設(shè)計(jì)語言與環(huán)境。由 Sun 公司開發(fā),目前由 Java Community Process 控制。近些年來非常流行且穩(wěn)定,未來生命周期較長(zhǎng)。語言風(fēng)格較為接近 C++ 與 C# ,而最為人熟知的便是跨平臺(tái)性。Java 的跨平臺(tái)性已得到了廣泛的認(rèn)可,在計(jì)算機(jī)的各種平臺(tái)、操作系統(tǒng),以及手機(jī)、移動(dòng)設(shè)備、智能卡、消費(fèi)家電均已邁入成熟的生產(chǎn)化。而國內(nèi)的 Java 人才需求前景目前也是大好。
Java 的官方網(wǎng)站是 http://java.sun.com/。Java 分為 JavaSE(標(biāo)準(zhǔn)版,面向初學(xué)者與桌面開發(fā))、JavaEE(企業(yè)版,也稱 J2EE,面向企業(yè)級(jí)開發(fā)、網(wǎng)絡(luò)開發(fā),包括了為人熟知的 JSP,并包含了 JavaSE 的所有內(nèi)容)、JavaME(微型版,為手機(jī)、PDF、機(jī)頂盒、消費(fèi)家電等嵌入設(shè)備開發(fā)),目前還有正在發(fā)展的 JavaFX(一種富Internet 應(yīng)用程序開發(fā)的腳本語言)。Java 的運(yùn)行環(huán)境是 JRE,開發(fā)環(huán)境是 JDK,均可以在其官方站點(diǎn)下載。開發(fā)平臺(tái)的構(gòu)建較為簡(jiǎn)單,開發(fā)者下載并安裝 JDK 即可,目前 JDK 最新版本是 1.6.15。
最重要的它們都是免費(fèi)、開源的。而 Java 不需要指定集成開發(fā)環(huán)境(IDE)JDK 和記事本足以完成。不過在此我推薦使用 Notepad++ 或 UltraEdit 作為代碼文本編輯器;Eclipse 與 NetBeans 這兩款免費(fèi)而又強(qiáng)大成熟的 Java 集成開發(fā)環(huán)境(IDE)。
最近也在進(jìn)一步學(xué)習(xí)中開始寫 Java 的編程書籍,在此透露一下,它是一本內(nèi)容全面、語言生動(dòng)、較快入門、注重實(shí)例、分享經(jīng)驗(yàn)、提供編程思維與設(shè)計(jì)模式的 Java 編程書。這方面我需要一段時(shí)間的努力后,才能與您見面。不過最重要的,這本書將是免費(fèi)的。在保證專業(yè)性與內(nèi)容質(zhì)量的同時(shí),這本書將提供免費(fèi)的閱讀與下載。
C++,應(yīng)用最廣泛、成熟、強(qiáng)大、復(fù)雜、流行的程序設(shè)計(jì)語言。你目前正在使用的 Windows 或 Linux 操作系統(tǒng)的大部分內(nèi)容均出自 C++ 的程序員之手,C++ 非常強(qiáng)大近乎無所不能,而 C++ 代碼經(jīng)過編譯后將成為計(jì)算機(jī)的二進(jìn)制代碼的可執(zhí)行程序,所以在兼容性、性能上均為優(yōu)秀。當(dāng)今如果你學(xué)習(xí) C++,再配合 WIN32SDK、MFC 或是 .NET CLR,絕對(duì)是開發(fā)桌面程序的首選語言。從名字可以看出,C++ 改進(jìn)自 C 語言,特別是面向?qū)ο蠓矫娴臄U(kuò)展,但學(xué)習(xí) C++ 可以直接學(xué)習(xí),不需要且不建議先學(xué)習(xí) C 語言基礎(chǔ),可以把 C++ 當(dāng)作一門全新的編程語言。
如在 Windows 平臺(tái)下,C++ 首選的集成開發(fā)環(huán)境(IDE)自然是 Visual C++,它包含在 Microsoft Visual Studio 之中,最新版本是 2008。你可以選擇微軟官方提供的 Visual Studio 2008 專業(yè)版這是最好的選擇!微軟提供90天的試用版,安裝鏡像較為龐大,與正式版沒有區(qū)別,同時(shí)包含了 MSDN Library(最權(quán)威的開發(fā)文檔),唯獨(dú)只是授權(quán)序號(hào)的區(qū)別。下載安裝后即可使用。當(dāng)然,你也可以進(jìn)行簡(jiǎn)單的操作將其變?yōu)檎桨?。不過在此不是鼓勵(lì)大家 使用盜版軟件,如在非商用的情況下,這種手段是可行的,也會(huì)加快你的學(xué)習(xí)進(jìn)度與質(zhì)量。此外微軟也提供了 Visual Studio 2008 速成版,又稱為學(xué)生版,它是免費(fèi)的,如僅是學(xué)習(xí)完全足夠。
除了微軟的 IDE,你還有其他的選擇。在 Windows 下搭建 Eclipse + CDT + MinGW,Linux 和 Unix 下可以使用 Eclipse + GCC++,這些都是開源、免費(fèi)的?;蚴歉镜哪阒餍枰粋€(gè)記事本與 C++ 編譯器,當(dāng)然我不推薦這樣做。
C#,讀作 C Sharp。微軟的 C# 就好似是 C++、Java、Delphi 與 Visual Basic 的結(jié)合體,是新興、易學(xué)、強(qiáng)大的程序設(shè)計(jì)語言,它更像 Java完全面向?qū)ο螅_發(fā)與運(yùn)行都在 .NET Framework 環(huán)境中。使用微軟強(qiáng)大的 Visual Studio 集成開發(fā)環(huán)境,這是快速開發(fā) Windows 平臺(tái)桌面應(yīng)用程序的最好選擇。聽起來有點(diǎn)像 VB?不過 C# 比 VB 可強(qiáng)大多了。不過 C# 編譯后的程序如 Java 一樣是中間語言,運(yùn)行程序的計(jì)算機(jī)需要安裝 .NET Framework 運(yùn)行環(huán)境,不算大也不算小。但在微軟的 .NET 推出多年后的今天,它還沒有較好的普及開,可能對(duì)你的程序傳播會(huì)有一定影響。同時(shí) C# 也可以開發(fā) ASP.NET 的動(dòng)態(tài)網(wǎng)頁程序,這是曾經(jīng)風(fēng)火多年的 ASP 的替代產(chǎn)品。
開發(fā) C# 程序,使用微軟的 Visual Studio 是最好的,也是幾乎唯一的選擇。同 Visual C++ 的環(huán)境搭建基本雷同,在此不再復(fù)述。目前 .NET 環(huán)境已經(jīng)發(fā)展到 3.5,C# 已經(jīng)發(fā)展到 C# 4.0,學(xué)習(xí) C# 請(qǐng)選擇一本實(shí)時(shí)性、專業(yè)性、全面性的好教程。微軟的 Visual Studio 2010 近期也將發(fā)布,屆時(shí)將搭載更為強(qiáng)大的 C# 語言與集成開發(fā)環(huán)境(IDE)。
Python,新興的面向?qū)ο竽_本語言。說其新其實(shí)并不是如此,Python 已經(jīng)具有十多年的歷史,且已有非常多的開發(fā)者與使用者,最著名的就屬 NASA(美國國家航空航天局)。其語言特點(diǎn)是語法清晰簡(jiǎn)潔,便于學(xué)習(xí)使用。而 Python 作為腳本語言,跨平臺(tái)性非常好,幾乎在所有操作系統(tǒng)中可以使用,在 Linux 操作系統(tǒng)中便大多原生支持 Pyhton。實(shí)質(zhì)上這款語言非常優(yōu)秀,近年來用戶量飛速增長(zhǎng),可以進(jìn)行桌面程序開發(fā)、動(dòng)態(tài)網(wǎng)頁開發(fā)、數(shù)據(jù)運(yùn)算等。
不需要擔(dān)心商業(yè)授權(quán)、付費(fèi)這些額外的問題,Python 本身就是免費(fèi)軟件、自由軟件。在 Python 官方網(wǎng)站 http://python.org/ 你可以下載適用于您操作系統(tǒng)的 Python 開發(fā)與運(yùn)行環(huán)境。需要注意的是目前 Python 流行版本有 Python 2.6 與 Python 3.1,2 與 3 的區(qū)別較大,雖沒改變本質(zhì),Python 3 但并不向下兼容。當(dāng)然這里我們建議你學(xué)習(xí) Python 3,它很快就會(huì)被流行。
Ruby,較 Python 來說更新興的面向?qū)ο竽_本語言,由日本人開發(fā)。實(shí)質(zhì)上它與 Python 是同類,具有共同的一些特性、腳本語言、面向?qū)ο?、免費(fèi)開源、簡(jiǎn)潔強(qiáng)大、跨平臺(tái)性,所以在此就不多作介紹。Python 與 Ruby 都是目前的新興流行腳本語言,不過它們作為兩款出生與成長(zhǎng)不同的孩子,終究不同,選擇哪一個(gè)還得取決于你的應(yīng)用需要。在 Ruby 的官方中文站點(diǎn)獲取更多信息,下載與安裝 Ruby 開發(fā)與運(yùn)行環(huán)境。
PHP,幾乎你現(xiàn)在看到的像是門戶網(wǎng)站、博客、論壇它們除去華麗的外表外,網(wǎng)頁內(nèi)部的程序與數(shù)據(jù)處理都離不開動(dòng)態(tài)網(wǎng)頁技術(shù),而 PHP 正是目前最流行、強(qiáng)大、穩(wěn)健的動(dòng)態(tài)網(wǎng)頁開發(fā)腳本語言。它的語言風(fēng)格類似 C、Perl,可以集成在 HTML 網(wǎng)頁代碼只中,也遵循面向?qū)ο?,并且易于學(xué)習(xí)。其實(shí) PHP 還可以開發(fā)桌面應(yīng)用程序,不過因?yàn)樗膬?yōu)秀,已主要作為了動(dòng)態(tài)網(wǎng)頁開發(fā)語言。如果你要學(xué)習(xí)開發(fā) Web 應(yīng)用程序,或是今年流行的 Web2.0 站點(diǎn),PHP 絕對(duì)是你的首個(gè)選擇。因?yàn)閲鴥?nèi)有相當(dāng)多數(shù)量的 PHP 開源程序與學(xué)習(xí)資源,學(xué)習(xí) PHP 的道路一路都會(huì)平坦。
因?yàn)槭莿?dòng)態(tài)網(wǎng)頁開發(fā),所以開發(fā) PHP 的 Web 程序需要搭建環(huán)境需要同時(shí)安裝一個(gè) HTTP 服務(wù)器與 PHP 解析程序,大多情況下你還要一個(gè)數(shù)據(jù)庫服務(wù)器例如 MySQL、PostgreSQL。目前最流行的開發(fā)環(huán)境組合就是 Linux + Apache HTTP Server + MySQL + PHP,簡(jiǎn)稱為 LAMP,Linux 操作系統(tǒng)大多均帶有了這些程序。而如果在 Windows 環(huán)境下,你可以選擇自行搭建各種匹配的環(huán)境,甚至讓 IIS 作為 PHP 的 Web 服務(wù)器?;蚴窍雸D省事,你可以下載安裝一個(gè) XAMMP,PHP 環(huán)境搭建一步到位!目前國內(nèi)外大部分?jǐn)?shù)據(jù)服務(wù)商(IDC)都提供了完美支持 PHP 的虛擬主機(jī),你不用擔(dān)心程序開發(fā)后的運(yùn)行環(huán)境問題。開發(fā)與學(xué)習(xí)推薦的 IDE 有 Zend Studio、Eclipse 甚至是 Dreamweaver。
Perl,最具成熟、靈活性的腳本語言。學(xué)習(xí)較為容易,但卻非常強(qiáng)大。Python 語言的許多特性便是有借鑒自 Perl。Perl 擁有一個(gè)大型的第三方代碼庫CPAN,極大的方便于程序人員的開發(fā)和使用。在官方網(wǎng)站下載 Perl 環(huán)境,所有的 Linux 系統(tǒng)都幾乎集成了 Perl。腳本語言的開發(fā)都推薦在 Notepad++ 等高級(jí)文本編輯器中完成。
Pascal,曾經(jīng)風(fēng)靡全球的高級(jí)程序語言,特點(diǎn)是語言簡(jiǎn)明、結(jié)構(gòu)嚴(yán)謹(jǐn)、較高靈活性,名氣不下于 C++。前幾年流行的 Delphi(一種 Windows 應(yīng)用程序快速集成開發(fā)環(huán)境)使用的便是 Pascal 語言,國際信息學(xué)奧林匹克、中國信息技術(shù)奧林匹克競(jìng)賽的編程項(xiàng)目主要語言。如今 Pascal 語言在實(shí)際應(yīng)用領(lǐng)域已逐漸被人舍棄,但依然是非常適合初學(xué)者的編程語言。你可以下載使用 Free Pascal 這個(gè)目前最好的 Pascal 編譯環(huán)境,也可以使用 Deiphi。
Basic,或稱為 Basic 系列語言,主要有 QuickBasic、QBasic、VBScript、Visual Basic、Visual Basic .NET,甚至有適于兒童學(xué)習(xí)的 Small Basic。如今 PC 計(jì)算機(jī)中流行中的 Basic 語言,正是鼎鼎大名的比爾蓋茨先生編寫,但最初的 Basic 語言來自上世紀(jì)60年代兩位美國計(jì)算機(jī)科學(xué)家。
上世紀(jì)末期與本世紀(jì)初期,Visual Basic 作為一款簡(jiǎn)單易學(xué)的 Windows 應(yīng)用程序開發(fā)環(huán)境,曾在中國被大量學(xué)習(xí)使用,現(xiàn)在你在書店還可以看到許多 Visual Basic 考試書籍與題目的身影,不過這些已經(jīng)是早已淘汰的 VB6 了,我國的計(jì)算機(jī)等級(jí)考試大綱一直都存在嚴(yán)重問題(這是我的想法)。當(dāng)時(shí)被流行的 VB6 讓很多人快速的邁入了程序員的步子,但 VB6 因?yàn)椴⒉粡?qiáng)大,并不能有效開發(fā)大型程序。VB 的成功并不在于改進(jìn)后的 Basic 程序語言本身,而應(yīng)是優(yōu)秀的集成開發(fā)環(huán)境(IDE)與開發(fā) Windows 程序的便捷特性性。
微軟公司在2002年推出了 Visual Basic .NET,正式推出 .NET 環(huán)境并讓 VB 作為首批成員。如今的 Visual Basic 已經(jīng)非常強(qiáng)大,但已完全的依賴于 .NET Framework 環(huán)境,可以開發(fā) ASP.NET 程序。而且所有優(yōu)秀特定均已被 C# 吸收,它們?nèi)缃竦牟顒e并不大。我更傾向推薦有意學(xué)習(xí) VB 的朋友去學(xué)習(xí) C#。
匯編語言,又稱組合語言,它是一種低級(jí)計(jì)算機(jī)語言,直接與計(jì)算機(jī)硬件底層交互。在上世紀(jì) C、Pascal 等高級(jí)編程語言出現(xiàn)之前被廣泛使用,如今只用于一些底層應(yīng)用如硬件驅(qū)動(dòng)程序的開發(fā)。匯編語言的難度非常高,使得早期的軟件開發(fā)工作只有一些天才級(jí)或怪才級(jí) 的人才能勝任。如今匯編語言基本上不用于軟件的開發(fā),但對(duì)于程序開發(fā)人員來說,學(xué)習(xí)匯編語言可以讓你深層了解計(jì)算機(jī)與計(jì)算機(jī)程序的原理。如今匯編語言還被 國內(nèi)部分大學(xué)作為必修教程,而匯編語言也會(huì)有利于程序的反編譯等工作。
好,至此目前主流的程序開發(fā)語言均已作介紹。下面是 QA 時(shí)間。
問:說了這么多,到底哪門編程語言適合我?我該學(xué)哪一個(gè)?
答:程序語言并不適合于人,而適用于所要開發(fā)的領(lǐng)域或軟件的需求。你不能光從名稱看出某一門程序語言的含義,也不能跟風(fēng)別人學(xué)什么我就學(xué)什么。而在 于你的興趣,或是你要涉及的領(lǐng)域、開發(fā)的程序。如果你要開發(fā)桌面程序,那就可以學(xué)習(xí) C++、C#、VB、Java如果你要開發(fā)動(dòng)態(tài)網(wǎng)頁,就可以學(xué)習(xí) C#、VB、Java如果你要開發(fā)手機(jī)程序,就可以選擇 C++、Java 或 C#。我提供這么多內(nèi)容,最重要的便是讓你了解每一種程序語言的主要特性,而供你選擇?;蛘吣阏f我實(shí)在不知道我要選擇哪個(gè),我只是想學(xué),這些特性或領(lǐng)域我 都不了解也不在乎。。如果你確定是如此,而如果你真的想涉及程序開發(fā),建議你繼續(xù)稍作了解?;?qū)W習(xí)目前流行的完全面向?qū)ο蟮某绦蛘Z言 Java、C# 或 Python,這三個(gè)程序語言都很優(yōu)秀,這是我的推薦。而在深入學(xué)習(xí)后,你會(huì)發(fā)現(xiàn)了解這三門語言的其中一個(gè),再想學(xué)其它編程語言也可以做到觸類旁通,很快 可以入手,因?yàn)檫@些程序語言的本質(zhì)都是一樣的,更何況選擇一款程序語言就可以開發(fā)出大部分這些程序語言都可以開發(fā)的軟件,做這些語言都可以做的事情,只是方式上的 不同。
問:我想學(xué)習(xí)編程,據(jù)說要求數(shù)學(xué)頭腦或英語能力?或已經(jīng)是計(jì)算機(jī)高手?
答:如果你已經(jīng)是一個(gè)成年人,這些都不是問題。實(shí)際上程序開發(fā)和數(shù)學(xué)雖息息相關(guān),但在大部分應(yīng)用中對(duì)數(shù)學(xué)水平的要求并不高,初中畢業(yè)就可以,甚至小 學(xué)也沒問題。而對(duì)于初學(xué)者,這些程序語言雖使用英文,但實(shí)際學(xué)習(xí)過程中,需要記憶的英文單詞并不多,稍作記憶和理解即可掌握,對(duì)開發(fā)者的英文沒有要 求。但是!一旦你涉及到高水平的或是企業(yè)級(jí)的開發(fā)項(xiàng)目,會(huì)有更多你所未涉及的知識(shí)需要在技術(shù)文檔中查閱,如 API、SDK 文檔,或是 MSDN,這些文檔中有一部分內(nèi)容是英文的。就例如騰訊公司招聘程序員,就會(huì)要求開發(fā)者的英文水平可以基本讀懂這些技術(shù)文檔。事實(shí)上對(duì)英文的要求就正如 此,而我建議軟件開發(fā)者在平日的學(xué)習(xí)中對(duì)英文水平進(jìn)行一個(gè)修煉,對(duì)以后的開發(fā)、學(xué)習(xí)、了解新技術(shù)與資訊、編程思想都會(huì)有幫助。計(jì)算機(jī)水平上沒有什么特定要 求,會(huì)打字就可以學(xué)編程。不過你需要對(duì)所開發(fā)的環(huán)境如 Windows 有了解,不然你連新建保存文檔,或是操作系統(tǒng)是什么都不明白,你如何順利學(xué)習(xí)編程?不過這些并不是大問題,基本上可以迅速的學(xué)習(xí)到。
問:如何學(xué)?如何學(xué)好?如何編寫程序?
答:計(jì)算機(jī)程序的開發(fā)具有點(diǎn)、線、面的性質(zhì),更多的需要靈活性。第一,選擇一本好教材、好老師,掌握你所學(xué)習(xí)程序語言的概念、基本原理、基本語 法,然后逐漸深入,完成語言知識(shí)面的學(xué)習(xí)。第二,熟練程序語言后,你需要學(xué)習(xí)一種叫做設(shè)計(jì)模式的理論,與其說有助于開發(fā),不如說是必須進(jìn)行選擇與學(xué)習(xí),培 養(yǎng)良好的編程思維習(xí)慣。第三,我們的程序需要做的事情就是解決問題!利用掌握的知識(shí),多練習(xí),多實(shí)踐,多解決身邊的問題。開拓你的大腦創(chuàng)造力,你離編程大 師只有一步之遙。學(xué)習(xí)程序語言就如學(xué)習(xí)一般顯示語言類似,掌握語言的文字、單詞、語法,多進(jìn)行閱讀與訓(xùn)練,然后動(dòng)用你的大腦控制筆去書寫優(yōu)美的篇章。
問:還有什么要求?
答:學(xué)習(xí)程序開發(fā),說難就難,說簡(jiǎn)單就簡(jiǎn)單。要明確興趣與方向,要樹立并堅(jiān)定目標(biāo)。學(xué)習(xí)過程中需要多努力,多練習(xí),多問,多 Google 一下,多思考,多想如何解決問題!如能做到這些,真的足夠了。
【編輯推薦】