每一個新入門的程序員對于各種各樣的編程語言都感覺很頭大,當(dāng)你迷茫于該學(xué)習(xí)什么樣的語言時,那么你就應(yīng)該先了解一下其特點,以做好萬全準(zhǔn)備。
【問題】:面對自己的職業(yè)生涯,程序猿們該如何選擇屬于自己的編程語言?
【正文】:
C/C++
一句話概括:大多數(shù)中國程序員的第一個語言
C語言是面向過程語言在當(dāng)代的魯?shù)铎`光,常用于編寫操作系統(tǒng)。C++是C語言的一個超集,既有指針又有對象使它成為最復(fù)雜的語言。
C/C++的優(yōu)勢:幾乎所有現(xiàn)代編程語言都脫胎于C/C++,因此了解了C/C++,就了解了關(guān)于編程語言的一切,非常有利于快速掌握其他各類編程語言。C/C++可以被嵌入任何現(xiàn)代處理器中,幾乎所有操作系統(tǒng)都支持C/C++,跨平臺性非常好。
C/C++的不足:據(jù)說C/C++發(fā)明的時候為了提高入行門檻和行業(yè)收入水平刻意制造了學(xué)習(xí)難度。盡管C語言體型小巧,可最常使用的C++規(guī)模可觀且擁有大量極為復(fù)雜的功能交互方式,容易造成資源浪費。
職業(yè)路線:
(1)首推Unix/Linux等操作系統(tǒng)軟件的開發(fā)和嵌入式開發(fā)。
(2)Android ROM的定制,以及android App的NDK開發(fā)。
(3)用Cocos2d-x開發(fā)游戲也是C++程序員的好出路。
一句話概括:最長壽的語言
Java是最典型的面向?qū)ο笳Z言。Java不僅吸收了C++語言的各種優(yōu)點,還摒棄了C++里難以理解的多繼承、指針等坑爹概念。今明兩年畢業(yè)的大學(xué)生大多是Java的同齡人(1995年)。
Java的優(yōu)勢:Java平臺不斷迎來新功能,比如移動互聯(lián)網(wǎng)時代的Android,大數(shù)據(jù)時代的Hadoop,人工智能時代的TensorFlow。Java是世界上使用范圍最廣的語言——Java環(huán)境安裝時那句“3 Billion Devices Run Java”誰沒見過?
Java的不足:Java占用大量內(nèi)存,并且啟動時間較長——搞Android的都被Windows系統(tǒng)中的Android AVD坑過。
職業(yè)路線:
(1)招聘網(wǎng)站上常見的“招聘Java開發(fā)”指的就是狹義的Java開發(fā)——基于JavaEE的后臺開發(fā),以前一度流行過SSH框架和SSM框架,現(xiàn)在入門建議學(xué)習(xí)SpringMVC框架。
(2)在移動互聯(lián)網(wǎng)時代,Java可用于Android App開發(fā)。但Java之于Android的地位可能被Kotlin取代。
(3)在大數(shù)據(jù)時代,Java可用于Hadoop的開發(fā),前景非常廣闊,但可能有泛濫的趨勢。
(4)在人工智能時代,Java可用于TensorFlow深度學(xué)習(xí)的開發(fā)。
一句話概括:自稱不是Java的Java語言
C#是微軟看到Java太火了而發(fā)明的和Java語法差不多的語言。
C#的優(yōu)勢:C#的最大優(yōu)勢在于全面集成.Net庫,提供出色的功能與完美的庫訪問能力。VR時代的到來讓Unity-3d開發(fā)者有很好的發(fā)展前景。
C#的不足:由于集成.Net庫造成跨平臺能力太差。目前.Net在國內(nèi)就業(yè)環(huán)境不太好,收入較低。
職業(yè)路線:
(1)招聘網(wǎng)站上常見的“招聘C#開發(fā)”和“招聘.net開發(fā)”指的都是狹義的C#開發(fā)——基于.Net框架的后臺開發(fā)。
(2)Unity-3d也用C#作為開發(fā)語言,除了能開發(fā)3D游戲,在VR時代也會大放光芒。
一句話概括:不是Java語言的語言。
javascript是一種動態(tài)類型、弱類型、基于原型的直譯式腳本語言,也是使用頻率最高的給HTML網(wǎng)頁增加動態(tài)功能的語言。外行最常鬧的笑話是因為它是Java語言的分支。
JavaScript的優(yōu)勢:作為腳本語言,JavaScript可立即運行而無需等待服務(wù)器響應(yīng),速度非常出色。JavaScript是動態(tài)類型語言,學(xué)習(xí)難度低。并且掌握了JavaScript語言就等于成為能同時開發(fā)網(wǎng)頁(HTML5)、后臺(Node.js)、移動端(React Native、Weex)的全棧工程師。
JavaScript的不足:代碼在用戶電腦上運行,可能會被別有用心的壞人惡意利用。JavaScript過于依賴瀏覽器,在不同的瀏覽器上有不同的表現(xiàn)。
職業(yè)路線:
(1)首選html5的初心:網(wǎng)站和手機站的前端頁面開發(fā)。
(2)用node.js或Bmob云端代碼進行后臺開發(fā)
(3)基于react Native、PhoneGap、Weex、HBuilder、AppCan進行移動開發(fā),只需寫一遍代碼,就有Android和iOS兩個軟件
(4)微信開發(fā):包括微信公眾號、微信小游戲、微信小程序。不要把這個方向當(dāng)成中國特色方向,國外的Android機也是需要PWA開發(fā)的。
(5)如果以上四樣全能做到,那么你就是全棧工程師。
一句話概括:需要拿著游標(biāo)卡尺學(xué)習(xí)的語言
python是一款服務(wù)器端解釋型開源非編譯腳本語言。它常被昵稱為膠水語言,能夠把用其他語言制作的各種模塊(尤其是C/C++)很輕松地聯(lián)結(jié)在一起。
Python的優(yōu)勢:Python學(xué)習(xí)簡單,被譽為“最易學(xué)習(xí)的語言”。
Python的不足:Python存在一些只在特定情況下才會出現(xiàn)(無法重現(xiàn))的bug。
職業(yè)路線:
(1)用Django框架進行web開發(fā):和Java沒什么兩樣。
(2)用PIL框架進行圖形處理
(3)物聯(lián)網(wǎng):Raspberry Pi等物聯(lián)網(wǎng)平臺都選擇了Python作為開發(fā)語言
(4)Python有一個無所不能的Hack庫,如果認為“打工是不可能打工的”就去當(dāng)一個自由的黑客吧
PHP
一句話概括:世界上最好的語言
php是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點,利于學(xué)習(xí),使用廣泛,主要適用于Web開發(fā)領(lǐng)域。號稱“世界上最好的語言”。
PHP的優(yōu)勢:PHP學(xué)習(xí)簡單,易于快速上手。歷久彌新的PHP擁有龐大而活躍的官方社區(qū),開發(fā)者面臨的大部分難題都有現(xiàn)成的解決方案,很多十幾年前的解決方案在當(dāng)代也有指導(dǎo)意義。
PHP的不足:PHP的運行速度比較慢。PHP的錯誤處理機制比較糟糕,因為PHP需要支持大量舊版本的功能。
-
JAVA
+關(guān)注
關(guān)注
19文章
2958瀏覽量
104553 -
C++
+關(guān)注
關(guān)注
22文章
2104瀏覽量
73497 -
python
+關(guān)注
關(guān)注
56文章
4782瀏覽量
84456
發(fā)布評論請先 登錄
相關(guān)推薦
評論