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