從一個開發者的角度評價編程語言

這其實是一個比較老的話題了,關於各種語言的好壞選擇網上怎麼說的都有,有趣的是所有的爭論佔據傷風的總是一些腦殘粉,對於編程語言的選擇不同的人有不同的看法,我大致分爲以下幾類:

1、搞開發的

2、搞教育的

3、搞科研/學術的

4、業餘的

5、其它

我是做開發的,這篇文章主要是從開發者的角度,根據多年來各種語言的使用經驗來談談主流的編程語言,這些語言包括(C、C++、D、Go、Java、C#、Delphi、VB、PHP、Python),沒有列出的語言表示我沒用過,所以也不好評價。

我認爲一個好的編程語言應該具備以下特點

1、語言表現力上要夠強大

    雖然很多特點使用率不高,但是一旦有需求還沒有就很難受

2、學習曲線要儘可能的低

    這點很重要,畢竟語言只是工具

3、開發出來的程序執行效率要高

    沒有人想自己辛苦開發出來的程序因爲語言的關係執行效率很低,執行效率可是產品體驗中非常重要的一點,1秒和5秒的差別是巨大的,想象一下你的office軟件如果5秒才能打開是多麼痛苦的事情

4、生產力要強

    生產力包含兩個方面,一個是開發的速度,一個是適合大規模生產。


從語言表現力上:C++、D、Java、C#、Delphi、Python勝出

從學習曲線上:只有C++出局,其它大多數人都還可以接受,比較突出的是VB、PHP、Python、Go

從程序執行效率上:C、C++、D、Go、Delphi、VB勝出,當然有些情況語言的效率不是第一瓶頸,第一瓶頸通常會出現在IO、數據庫等地方,只有這些需要長時間等待的地方的性能不是問題的時候,語言本身的性能纔會比較突出

從生產力上:

    開發速度:PHP、Python勝出,桌面應用C#、Delphi、VB勝出,其實開發速度大多數時候取決於庫程序的數量與質量及易用性,語言本身影響不明顯

    適合大規模生產:C++、D、Java、C#、Delphi 勝出


綜上所述:

    通用語言D語言勝出,唯一不足的地方就是庫相對流行的語言庫相對較少,國外開源項目也很多,國內很多人可能還沒聽說過,中文資料都比較老,最新消氣可關注官網 dlang.org

    桌面開發方面,Delphi勝出(已經很久沒關注桌面開發方面的技術了,也許很多人會擁護C#,我也很久沒用了,不過當年.net 開發出來的軟件的執行效率像網頁一樣,界面元素明顯不是一起顯示出來的)

    Web方面:PHP、Python勝出

    對於移動短:Java、Obj-C的地位太明顯了

補充:

    C語言只能用偉大來形容,它創造了太多,語言上的問題玩過的都知道,所謂一俊遮百醜嘛,業績勝過一切

    Java是比較中庸的語言,曾經輝煌過,現在看來明顯已經不夠現代了,而且創造了一些謠言,最可笑的是Java的虛擬機越來越優化,已經不比C++慢多少,甚至有些時候還會超過C++,不管你信不信,反正我不信,人總是謊言聽多了慢慢也就信了,因爲有些時候真相也並不那麼重要,雖然我個人不喜歡java,但是在這裏我沒有貶低java的意思,java最大的好處是能讓對底層能力薄弱的人也能開發出某些場景下的重量級的軟件應用,典型的是跟數據處理相關的,所以很多這樣的軟件就出現了

    D語言:借用設計者的話,D是更好的C++,C++擅長的它也擅長,C++不擅長的它也擅長,雖然有點吹噓的成分,但在我看來基本上它做得到了,而且用起來要比C++輕鬆的多,雖然我在使用的過程中也發現了幾處bug(主要是win和mac平臺下,linux下的表現我很滿意)但也不算重大bug,可用性還是很高的,特別是模板編程做到如此的易用,並行計算支持也非常好,而且還具備動態腳本的一些特性,對C的二進制兼容也是亮點,也許你關心效率,正常情況總體上會比C/C++是差一些,如果着重優化效率可以做到和C++同一水平,這絕不是炒作的謊言,如果你還不瞭解D語言,在這裏我向你推薦一下,當然也歡迎與我交流。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章