很多朋友在后臺(tái)給我留言,問(wèn):現(xiàn)在這么多變成語(yǔ)言,Python、Java、PHP、C++、JavaScript等,究竟哪個(gè)才受歡迎?我想這應(yīng)該也是你的困擾吧!
其實(shí)他們各有優(yōu)勢(shì),但是對(duì)于選擇困難的程序員而言,這真的是個(gè)世紀(jì)難題,畢竟每個(gè)人的精力有限,不可能把所有的流行語(yǔ)言全學(xué)了……
在我?guī)湍憬鉀Q這個(gè)問(wèn)題之前,讓我們先來(lái)看看這五種語(yǔ)言分別是用來(lái)干什么的?這也許會(huì)幫你更快的作出決定!
1.Java
Java可以做什么:
安卓和IOS的應(yīng)用開發(fā)、視頻游戲開發(fā)、桌面GUI、軟件開發(fā)等等;
Java擁有跨平臺(tái)、面向?qū)ο蟆⒎盒途幊痰奶匦裕浅J芷髽I(yè)的喜歡,廣泛應(yīng)用于企業(yè)級(jí)Web應(yīng)用開發(fā)和移動(dòng)應(yīng)用開發(fā)。
Java發(fā)展到現(xiàn)在,按應(yīng)用來(lái)分主要分為三大塊:J2SE、J2ME、J2EE。三塊應(yīng)用范圍不同,但卻相互補(bǔ)充。廣泛應(yīng)用于PC、數(shù)據(jù)中心、游戲控制臺(tái)、科學(xué)超級(jí)計(jì)算機(jī)、移動(dòng)電話和互聯(lián)網(wǎng),同時(shí)擁有全球開發(fā)者專業(yè)社群。
Java伴隨著互聯(lián)網(wǎng)的迅猛發(fā)展而發(fā)展,逐漸成為重要的網(wǎng)絡(luò)編程語(yǔ)言。
2.C/C++
C++用來(lái)做什么:
搜索引擎、軟件開發(fā)、操作系統(tǒng)、視頻游戲等
C語(yǔ)言是一種通用的命令式編程語(yǔ)言,它起源于19世紀(jì)70年代,是大學(xué)里面計(jì)算機(jī)專業(yè)學(xué)的一門編程語(yǔ)言,使用相當(dāng)廣泛,并且深遠(yuǎn)地影響了其后的幾乎每一種語(yǔ)言。
C++最初是作為C語(yǔ)言的增強(qiáng)版出現(xiàn),C++是一種靜態(tài)數(shù)據(jù)類型檢查的、支持多重編程范式的通用程序設(shè)計(jì) 語(yǔ)言。C++被用在一些知名軟件中,比如Firefox、 Winamp以及Adobe programs。
目前而言,C語(yǔ)言主要用來(lá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è)施,可以用來(lái)開發(fā)系統(tǒng)軟件、應(yīng)用軟件、高性能的服務(wù)器、客戶端應(yīng)用程序以及視頻游戲。
3.JavaScript
JavaScript是一種基于對(duì)象和事件驅(qū)動(dòng)并具有相對(duì)安全性的客戶端腳本語(yǔ)言。聽起來(lái)好像和java有些關(guān)系,然而卻不是的,只不過(guò)名字像而已。
同時(shí)JavaScrip也是一種廣泛用于客戶端Web開發(fā)的腳本語(yǔ)言,常用來(lái)給HTML網(wǎng)頁(yè)添加動(dòng)態(tài)功能,比如響應(yīng)用戶的各種操作。JavaScript也可以用在游戲開發(fā)等方面。
js最廣泛的應(yīng)用毫無(wú)疑問(wèn)是在web前端。簡(jiǎn)單的說(shuō),網(wǎng)站給你傳過(guò)來(lái)的是一堆用各種標(biāo)簽表示格式的文檔,而js負(fù)責(zé)操縱這些文檔實(shí)現(xiàn)一些客戶端動(dòng)態(tài)效果。js的領(lǐng)地還不僅如此,現(xiàn)在的Node.js還可以用于服務(wù)器端的開發(fā)。
4.PHP
PHP(Hypertext Processor) 是一種免費(fèi)的強(qiáng)大的服務(wù)器端腳本語(yǔ)言,主要目標(biāo)是允許網(wǎng)絡(luò)開發(fā)人員快速編寫動(dòng)態(tài)頁(yè)面,同時(shí)也被廣泛應(yīng)用于其他領(lǐng)域,如 Web 開發(fā)并可嵌入 HTML 中去,受到web開發(fā)者的歡迎。包括Wordpress、Digg以及Facebook在內(nèi)均使用了該語(yǔ)言。
PHP的語(yǔ)法利用了C、Java 和Perl,易于學(xué)習(xí)。目前PHP的應(yīng)用范圍已經(jīng)相當(dāng)廣泛,尤其是在網(wǎng)頁(yè)程式的開發(fā)上。一般來(lái)說(shuō)PHP大多執(zhí)行在網(wǎng)頁(yè)服務(wù)器上,透過(guò)執(zhí)行PHP程式碼來(lái)產(chǎn)生使用者瀏覽的網(wǎng)頁(yè)。PHP可以在多數(shù)的服務(wù)器和操作系統(tǒng)上執(zhí)行,而且使用PHP完全是免費(fèi)的。
5.Python
Python用來(lái)做什么:
web開發(fā)、應(yīng)用開發(fā)、大數(shù)據(jù)、數(shù)據(jù)挖掘、科學(xué)計(jì)算、機(jī)器學(xué)習(xí)、人工智能、運(yùn)維、自然語(yǔ)言處理等等等。
Python是一門易讀、易維護(hù),并且被大量用戶所歡迎的、用途廣泛的語(yǔ)言。由于具有豐富和強(qiáng)大的庫(kù),又被稱為膠水語(yǔ)言,Python 極其容易上手,主要源于Python有極其簡(jiǎn)單的說(shuō)明文檔。
Python?的應(yīng)用領(lǐng)域分為系統(tǒng)編程,用戶圖形接口,Internet?腳本,組件集成,數(shù)據(jù)庫(kù)編程,快速原型,數(shù)值計(jì)算和科學(xué)計(jì)算編程,游戲、圖像、人工智能、XML?、機(jī)器人編程等等。?
常見的一種應(yīng)用情形是,使用Python快速生成程序的原型(有時(shí)甚至是程序的最終界面),然后對(duì)其中有特別要求的部分,用更合適的語(yǔ)言改寫,比如3D游戲中的圖形渲染模塊,性能要求特別高,就可以用C/C++重寫,而后封裝為Python可以調(diào)用的擴(kuò)展類庫(kù)。Python是做服務(wù)器開發(fā)與物聯(lián)網(wǎng)開發(fā)。
信息安全,大數(shù)據(jù)處理,數(shù)據(jù)可視化機(jī)器學(xué)習(xí),物聯(lián)網(wǎng)開發(fā),各大軟件的api,桌面應(yīng)用,都需要python。
至于我的個(gè)人觀點(diǎn),本人較傾向 Python。究其原因,有以下4點(diǎn):
1、簡(jiǎn)單易學(xué),能夠把用其他語(yǔ)言制作的各種模塊輕松地聯(lián)結(jié)在一起。
2、基于 Python 的機(jī)器學(xué)習(xí)框架選擇較多。
3、我來(lái)自計(jì)算機(jī)專業(yè)背景,Python 的邏輯更適合。在 Python 之外,我更傾向于使用 C++,這是因?yàn)槲矣? C++寫代碼寫了半輩子,已經(jīng)習(xí)慣了。但因人而異,其他人可能更適合學(xué)習(xí)其他語(yǔ)言。比如說(shuō),經(jīng)驗(yàn)豐富的Java開發(fā)者可以接著用Java,尤其有那么多開源Java API 。
4、天道酬勤。不論你是編程新手,前端開發(fā)人員,或是想做全棧開發(fā)工程師,準(zhǔn)備進(jìn)軍 AI 領(lǐng)域的,又或是網(wǎng)絡(luò)運(yùn)維轉(zhuǎn)型開發(fā)、傳統(tǒng)IT轉(zhuǎn)行互聯(lián)網(wǎng)的......對(duì)比Java、C++等老牌語(yǔ)言,Python是個(gè)嘗試。
總結(jié):