當前位置:
首頁 > 知識 > 幾種主流編程語言的優點和缺點

幾種主流編程語言的優點和缺點

來源:趣T

C/C++

一句話概括:大多數中國程序員的第一個語言

C語言是面向過程語言在當代的魯殿靈光,常用於編寫操作系統。C++是C語言的一個超集,既有指針又有對象使它成為最複雜的語言。

C/C++的優勢:幾乎所有現代編程語言都脫胎於C/C++,因此了解了C/C++,就了解了關於編程語言的一切,非常有利於快速掌握其他各類編程語言。C/C++可以被嵌入任何現代處理器中,幾乎所有操作系統都支持C/C++,跨平台性非常好。

C/C++的不足:據說C/C++發明的時候為了提高入行門檻和行業收入水平刻意製造了學習難度。儘管C語言體型小巧,可最常使用的C++規模可觀且擁有大量極為複雜的功能交互方式,容易造成資源浪費。

職業路線:

(1)首推Unix/Linux等操作系統軟體的開發和嵌入式開發。

(2)Android ROM的定製,以及android App的NDK開發。

(3)用Cocos2d-x開發遊戲也是C++程序員的好出路。

Java

一句話概括:最長壽的語言

Java是最典型的面向對象語言。Java不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等坑爹概念。今明兩年畢業的大學生大多是Java的同齡人(1995年)。

Java的優勢:Java平台不斷迎來新功能,比如移動互聯網時代的Android,大數據時代的Hadoop,人工智慧時代的TensorFlow。Java是世界上使用範圍最廣的語言——Java環境安裝時那句「3 Billion Devices Run Java」誰沒見過?

Java的不足:Java佔用大量內存,並且啟動時間較長——搞Android的都被Windows系統中的Android AVD坑過。

職業路線:

(1)招聘網站上常見的「招聘Java開發」指的就是狹義的Java開發——基於JavaEE的後台開發,以前一度流行過SSH框架和SSM框架,現在入門建議學習SpringMVC框架。

(2)在移動互聯網時代,Java可用於Android App開發。但Java之於Android的地位可能被Kotlin取代。

(3)在大數據時代,Java可用於Hadoop的開發,前景非常廣闊,但可能有泛濫的趨勢。

(4)在人工智慧時代,Java可用於TensorFlow深度學習的開發。

C#

一句話概括:自稱不是Java的Java語言

C#是微軟看到Java太火了而發明的和Java語法差不多的語言。

C#的優勢:C#的最大優勢在於全面集成.Net庫,提供出色的功能與完美的庫訪問能力。VR時代的到來讓Unity-3d開發者有很好的發展前景。

C#的不足:由於集成.Net庫造成跨平台能力太差。目前.Net在國內就業環境不太好,收入較低。

職業路線:

(1)招聘網站上常見的「招聘C#開發」和「招聘.Net開發」指的都是狹義的C#開發——基於.Net框架的後台開發。

(2)Unity-3d也用C#作為開發語言,除了能開發3D遊戲,在VR時代也會大放光芒。

JavaScript

一句話概括:不是Java語言的語言。

javascript是一種動態類型、弱類型、基於原型的直譯式腳本語言,也是使用頻率最高的給HTML網頁增加動態功能的語言。外行最常鬧的笑話是以為它是Java語言的分支。

JavaScript的優勢:作為腳本語言,JavaScript可立即運行而無需等待伺服器響應,速度非常出色。JavaScript是動態類型語言,學習難度低。並且掌握了JavaScript語言就等於成為能同時開發網頁(HTML5)、後台(Node.js)、移動端(React Native、Weex)的全棧工程師。

JavaScript的不足:代碼在用戶電腦上運行,可能會被別有用心的壞人惡意利用。JavaScript過於依賴瀏覽器,在不同的瀏覽器上有不同的表現。

職業路線:

(1)首選html5的初心:網站和手機站的前端頁面開發。

(2)用node.js或Bmob雲端代碼進行後台開發

(3)基於react Native、PhoneGap、Weex、HBuilder、AppCan進行移動開發,只需寫一遍代碼,就有Android和iOS兩個軟體

(4)微信開發:包括微信公眾號、微信小遊戲、微信小程序。不要把這個方向當成中國特色方向,國外的Android機也是需要PWA開發的。

(5)如果以上四樣全能做到,那麼你就是全棧工程師。

Python

一句話概括:需要拿著遊標卡尺學習的語言

python是一款伺服器端解釋型開源非編譯腳本語言。它常被昵稱為膠水語言,能夠把用其他語言製作的各種模塊(尤其是C/C++)很輕鬆地聯結在一起。

Python的優勢:Python學習簡單,被譽為「最易學習的語言」。

Python的不足:Python存在一些只在特定情況下才會出現(無法重現)的bug。

職業路線:

(1)用Django框架進行Web開發:和Java沒什麼兩樣。

(2)用PIL框架進行圖形處理

(3)物聯網:Raspberry Pi等物聯網平台都選擇了Python作為開發語言

(4)Python有一個無所不能的Hack庫,如果認為「打工時不可能打工的」就去當一個自由的黑客吧

PHP

一句話概括:世界上最好的語言

php是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點,利於學習,使用廣泛,主要適用於Web開發領域。號稱「世界上最好的語言」。

PHP的優勢:PHP學習簡單,易於快速上手。歷久彌新的PHP擁有龐大而活躍的官方社區,開發者面臨的大部分難題都有現成的解決方案,很多十幾年前的解決方案在當代也有指導意義。

PHP的不足:PHP的運行速度比較慢。PHP的錯誤處理機制比較糟糕,以為PHP需要支持大量舊版本的功能。

職業路線:

(1)適合進行Web開發,配合Node.js效果更佳。

Objective-C和Swift

一句話概括:被培訓班害苦了的語言

objective-c和swift都是OS X和ios系統上的專用語言。Objective-C在三年前是國內收入最高的語言。

Objective-C的優勢:蘋果提供了豐富的工具和庫以便開發者使用Objective-C開發軟體。

Objective-C的不足:Objective-C擁有自己獨特的編程方法思路,與其他編程語言思路差別較大。

Swift的優勢:隨著時間推移,Swift在iOS和OS X軟體中占的代碼比例會越來越多。

Swift的不足:版本更迭太快,不同版本差別過大,近年發生過幾次「從精通到重新入門」的情況。

職業路線:

(1)這兩種語言都是專為iOS和OS X服務的,入行前記得先準備一台蘋果電腦和蘋果開發者賬號。

小編拉你進粉絲微信群

不是在文章評論里回

點擊展開全文

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員之家 的精彩文章:

是什麼摧毀了程序員的工作效率
讓人疑惑的代碼,竟成大多公司面試題熱門!
找一找:在這段紋身代碼中,你發現槽點了嗎?
松本行弘:編程是一生的事業

TAG:程序員之家 |

您可能感興趣

5種流行的編程語言的特點及應用領域!
語言藝術——把缺點說成優點!
最流行的十大區塊鏈編程語言
5 種可能衰敗的編程語言
國內外在自然語言處理領域的研究熱點和難點有哪些?
髒話,一種神奇的語言系統
常見的AI編程語言優缺點比較,程序員千萬不要入錯行!
AI編程:5種最流行的人工智慧編程語言
從語言語素—音節編碼類型看世界語言分類
最後一種語言
隨筆 兩種語言
扒一扒那些和編程語言無關的技術
C 的語言編程
諷刺藝術:幽默是一種人類交流的普遍語言
比開口說另一種語言更難的,是「關掉」原來的語言
怎樣解決編程語言之間的差異性問題?
5 種編程語言可能註定失敗
兒童語言發育的一般性特點
文人畫背後有一種獨特的語言系統
程序員沸騰了!AI代碼補全工具問世,支持23種語言及5種主流編輯器