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