語言排行榜
根據國際流行的程式語言使用排行榜[1]的數據:JAVA、C、C++、Python、C#這幾種程式語言一直高居榜首。
圖 最新程式語言熱度排行
現狀分析
對於軟體開發人員或者入門者來說,學什麼語言好找工作,什麼語言容易學往往是第一考慮的問題,前些年大家蜂擁學JAVA,覺得JAVA好找工作;這幾年人工智慧熱度上來了,薪水高,很多人又開始埋頭苦學C、C++。這種站位思考的方式無可厚非。
從軟體這個虛擬世界的大廈裡,我覺得應該以更大的視角去觀察和思考。美國現在給大廈提供設計圖、土建施工、提供裝修工具,相當於設計院、中建集團、博世等;中國現在給各個房間進行局部的設計、裝飾,相當於裝修公司。這就是美國和中國在軟體領域的地位。美國不管從晶片技術、作業系統(windows、android、ios、unix/linux、realtime os等)、軟體工具、軟體工程標準等等全部處於壟斷地位;而中國目前在僅僅出完善於大規模的應用開發及行業使用階段。
國家的自主可控發展目標,必定會推動軟體產業的升級,也就是能達到與美國差不多的高度。
軟體產業相較於其它行業具有大規模應用(互聯互通)、快速迭代(摩爾定律等)、普惠性(知識共享)等特點;會出現強者愈強的現象;也會出現快速顛覆的現象;而這一切是基礎知識、方法論、工程實踐的提升。
軟體行業的深入,也會像其它行業一樣,出現不同的工種;對於開發人員來說,有做基礎研究開發人員、有做工程應用開發人員、有做管理的開發人員、有做可靠性保證開發人員等等。軟體行業的升級,必定會形成一個良好的軟體和硬體的生態圈。
學什麼語言
對於不同行業和不同工種的人員來說,使用的語言是不一樣的,對於普通辦公人員日常工作文檔、統計等來說,office軟體會應用即可,如果更深入的使用,懂VBA往往就能事半功倍;對於web管理應用開發人員,會asp.net或java、jsp或php等也可以滿足基本的需求。如果需要更深入的做一些工作,例如對安全性有要求、對實時性有要求、對可靠性有要求,需要專門設備,這些技能往往達不到要求。這時就需要一種普遍使用的語言C/C++。Windows基本是C/C++實現、Android底層是Linux系統也是C/C++實現,IOS也是C/C++實現;硬體驅動一般基於C/C++實現;硬體啟動引導系統也基本是C/C++實現;JAVA運行的虛擬機是基於C/C++實現;Python語言也是基於C/C++實現。我們就可以知道C/C++語言在軟體世界的地位和重要性。如果想深入的做一些事情,什麼語言該學,其實可以思考。
參考:
1:https://www.tiobe.com/tiobe-index/