語言紛爭是程序界經久不息的話題,每個語言都有自己的特性,不同的人持不同觀點,曾經的我也執迷于此,總是認為自己的選擇是對的。
整理了一下網上盛傳的編程語言鄙視鏈:
匯編處于鄙視鏈的頂端,網傳當年雷軍寫的匯編語言,點贊無數,由此可見一斑。這其中大部分與硬件編程相關,多了一些神秘,屬于傳說級。
C與C++,幾十年來仍然屹立不倒,這其中大部分是做算法、做服務器后端,對系統、對協議都需要極深的了解,內功相當深厚,屬于大師級。
Java和C#占據了大部分比重,這部分主要是做應用開發:網站、管理系統、桌面工具等等,絕對的中堅力量。二者功能體量不相上下,所以相互鄙視。
其他語言就太多了,能叫的出名的:VB、Python、Dephi、Go、Ruby、Matlab等等不一一列舉了,這些都有各自的領域,這里面不乏有佼佼者,但總體上不如Java和C#能做的事情多。
PHP則是最悲催的,因為php開源項目很多,支持的環境成本也很低,所以門檻也很低,大部分php程序員都是拿來主義,基于別人開發好的架構,照葫蘆畫瓢就一個網站就基本上搞定了。處于鄙視鏈的最底層也有例可循了。
至于把C煞潑(CSharp)讀成C井的,很無辜的吃了沒有文化的虧。但即便如此,還是可以鄙視一下php。
你以為這就結束了嗎?其實還沒有,上面的這些在程序員的世界里,即便是php,也是能夠認同其身份的。很多程序員是不認同做前端的開發也叫程序員的,于是乎,搞javascript、html的,可能連程序員的身份都沒有。這其實也不難理解,很多后端程序員都會前端的,相比后端,前端要容易很多。而專職的前端,如果沒有后端就是擺設,什么干不了,想要獲取數據需要后端提供接口才行。當然隨著html5、jqurey、json等一大批新技術的出現,前端直接與用戶體驗相關,變得越發的重要。
我的編程經歷還算豐富吧,在大學時專業是工業電氣自動化,學過一點匯編,方向是做PLC之類的編程,可惜不感興趣;C過了計算機二級;工作以后用BorlandC++寫過股票卡程序;然后轉到VC++6.0,開始windows編程;再后來接觸到了C#,一直用到現在,做過各類桌面軟件、ERP、網站等等,python、java、js等等也都接觸過一些,沒有太深入,因為一直做windows開發,有c#基本足夠用了。
按我的觀點,其實無論什么語言都沒有好與壞之分,無需相互鄙視,適合自己能解決問題就好。關鍵是自己要把眼光放開,不要局限于某個點,讓自己的眼光變得狹隘,這樣不利于讓自己吸收更多的知識。