首先,我們先普及一下編程語(yǔ)言的基礎(chǔ)知識(shí)。
用任何編程語(yǔ)言來(lái)開(kāi)發(fā)程序,都是為了讓計(jì)算機(jī)干活,比如編寫(xiě)一篇文章,下載一首MP3等,而計(jì)算機(jī)干活的CPU只認(rèn)識(shí)機(jī)器的指令,所以,盡管不同的編程語(yǔ)言差異極大,最后都得“翻譯”成CPU可以執(zhí)行的機(jī)器指令。
理論上任何語(yǔ)言干任何事情幾乎都可以,但是主要干什么那就不一樣了。
01、Java
Java常常跟”企業(yè)”聯(lián)系在一起,因?yàn)榫邆湟恍┖芎玫恼Z(yǔ)言特性,以及豐富的框架,在企業(yè)應(yīng)用中最被青睞,你總可以聽(tīng)到關(guān)于J2EE,JSP,Hibernate之類(lèi)的東西的討論。同時(shí),java在手機(jī)領(lǐng)域也有一席之地,在普遍智能化之前,很多手機(jī)就是以支持java應(yīng)用作為賣(mài)點(diǎn)的,而智能手機(jī)爆發(fā)之后,Java手機(jī)主場(chǎng)變成了android,作為安卓的標(biāo)準(zhǔn)編程語(yǔ)言而存。
總結(jié):Java:網(wǎng)頁(yè),企業(yè)級(jí)開(kāi)發(fā),普通應(yīng)用軟件,游戲后臺(tái)。
02、C和C++
C/C++理論上說(shuō)可以做任何開(kāi)發(fā),只要有合適的硬件驅(qū)動(dòng)和API,特點(diǎn)是效率高,基本上是編譯語(yǔ)言里面效率最高的。除非你的系統(tǒng)中連C/C++編譯器都不具備。某些系統(tǒng)當(dāng)中C++編譯器是不具備的,但是C一般都具備。目前而言。C語(yǔ)言主要用來(lái)開(kāi)發(fā)底層模塊(比如驅(qū)動(dòng),解碼器,算法實(shí)現(xiàn)),服務(wù)應(yīng)用(比如web服務(wù)器)和嵌入式應(yīng)用(比如微波爐里的程序)。C++也可以做這些,不過(guò)由于C++的復(fù)雜性和標(biāo)準(zhǔn)問(wèn)題,人們還是更愿意使用C來(lái)做。C++更適合比較復(fù)雜但又特別需要高效率的設(shè)施,比如大型游戲,一些基礎(chǔ)庫(kù), 大型桌面應(yīng)用。
總結(jié):
C:系統(tǒng)底層,驅(qū)動(dòng),嵌入式開(kāi)發(fā)。
C++:游戲開(kāi)發(fā),大規(guī)模,高性能,分布式要求的程序開(kāi)發(fā)。
03、JavaScript
Javascript聽(tīng)起來(lái)跟Java有關(guān)系,其實(shí)并沒(méi)有任何關(guān)系,只是名字像而已。就好比雷峰塔和雷鋒的關(guān)系一樣,雖然只差一個(gè)字。Js最廣泛的應(yīng)用毫無(wú)疑問(wèn)是在web前端。簡(jiǎn)單的說(shuō),網(wǎng)站給你傳過(guò)來(lái)的是一堆用各種標(biāo)簽表示格式的文檔, 而Js負(fù)責(zé)操縱這些文檔實(shí)現(xiàn)一些客戶(hù)端動(dòng)態(tài)效果。Js的領(lǐng)地還不僅如此,現(xiàn)在的Node.js還可以用于服務(wù)器端的開(kāi)發(fā)。
總結(jié):
JavaScript是瀏覽器的腳本語(yǔ)言,一般和Html,CSS這些一起學(xué),主要做網(wǎng)站的前端開(kāi)發(fā),展現(xiàn)各種酷炫的畫(huà)面。
04、PHP
php這三個(gè)字你常常會(huì)在瀏覽器地址欄里看到, 所以不意外php是用來(lái)開(kāi)發(fā)網(wǎng)站的. 也是web后端的王者語(yǔ)言.無(wú)數(shù)的網(wǎng)站后端都運(yùn)行著php代碼。
總結(jié):
PHP:主要是網(wǎng)絡(luò)前端,用于生成網(wǎng)頁(yè)。也可以整個(gè)web服務(wù)器都用php,比如很多論壇引擎。
05、Python
Python由于具有豐富和強(qiáng)大的庫(kù),它又叫做作膠水語(yǔ)言,能夠把用其他語(yǔ)言制作的各種模塊(尤其是C/C++)很輕松地聯(lián)結(jié)在一起。常見(jiàn)的一種應(yīng)用情形是,使用Python快速生成程序的原型(有時(shí)甚至是程序的最終界面),然后對(duì)其中有特別要求的部分,用更合適的語(yǔ)言改寫(xiě),比如3D游戲中的圖形渲染模塊,性能要求特別高,就可以用C/C++重寫(xiě),而后封裝為Python可以調(diào)用的擴(kuò)展類(lèi)庫(kù)。
Python是做服務(wù)器開(kāi)發(fā)與物聯(lián)網(wǎng)開(kāi)發(fā)。信息安全,大數(shù)據(jù)處理,數(shù)據(jù)可視化機(jī)器學(xué)習(xí),物聯(lián)網(wǎng)開(kāi)發(fā),各大軟件的api,桌面應(yīng)用,都需要python。
總結(jié):
Python:動(dòng)態(tài)解釋型,開(kāi)發(fā)效率高,開(kāi)源,靈活,入門(mén)門(mén)檻低。