編程語言有數(shù)百種,對于初級程序員來說,應該選哪種編程語言呢? 主流編程語言之間又有什么差異呢? 以下是2017年最新的TIOBE世界編程語言排行榜 TIOBE世界編程語言排行榜 這些編程語言之間,對于程序員來說,到底有什么差異呢?以主流編程語言為例,以下分析下各自的優(yōu)劣勢: Java 優(yōu)勢:JVM帶來安全性上的飛躍,以及優(yōu)秀的跨平臺能力。極其龐大的社區(qū),極其豐富的各種資源。除了極端性能敏感場合,基本萬事通。勢力最大的地方是企業(yè)級程序。 劣勢:社區(qū)普遍有過度設(shè)計的傾向,代碼量爆炸。即使有IDE輔助不再折磨手指,也是折磨眼睛。 C 優(yōu)勢:極好的性能,可靠的標準和編譯器。無論是自己代碼的行為,還是操作底層硬件、操作內(nèi)存,都是直截了當不繞彎子。非常適合底層代碼,如操作系統(tǒng)內(nèi)核。 劣勢:語言特性極其有限,開發(fā)起來十分繁瑣,且沒有任何安全防護,一切全靠程序員自己。 C++ 優(yōu)勢:和C相去無幾的性能,對C良好的兼容性,極其豐富的語言特性,開發(fā)效率比C高很多。適用于對性能敏感,又有復雜邏輯的地方。如游戲,系統(tǒng)程序等。 劣勢:極其復雜的語言特性,既虐待要學習的程序員,也虐待實現(xiàn)語言的編譯器。導致雖有標準,但一堆編譯器的實現(xiàn)都不是太一致。安全防護有限,自己不小心,仍然容易出現(xiàn)底層錯誤。 C# 優(yōu)勢:完美版的Java,語言設(shè)計優(yōu)秀不少。宇宙第一IDE的加成。資源也很豐富。適合場合與Java類似。 劣勢:出身問題飽受開源原教旨主義者歧視,在非微軟平臺上一直在各種意義上是三等公民。 PHP 優(yōu)勢:為web而生,專注于web,開發(fā)web便捷迅速。適合(且只適合)于網(wǎng)站后臺。 劣勢:語言設(shè)計簡陋。 Python 優(yōu)勢:易學易用,極高的靈活性,開發(fā)效率很高。適合日常腳本,系統(tǒng)管理,網(wǎng)站后臺,科學計算,膠水語言等等。 劣勢:性能低下,多線程支持一直是殘廢狀態(tài),2/3分裂一直沒有完全解決,動態(tài)語言固有的正確性無法靜態(tài)分析,依賴于測試的死結(jié)。 JavaScript 優(yōu)勢:以前專注于前端,現(xiàn)在大肆攻城略地,滲透到web技術(shù)所能觸及的任何場合。最適合的場合永遠是web頁面之中。 劣勢:除了沒有2/3分裂問題,Python的弱點一樣不落地全有。草創(chuàng)時的設(shè)計粗糙,導致大量陰險的暗坑(如弱類型等),因為兼容性問題一直不能完全填平。 obj-c 優(yōu)勢:IOS開發(fā)很賺錢。最適合場合:蘋果帝國里。 劣勢:依賴IOS,離開蘋果就沒人理。 基于以上的介紹,剛學習的程序員們可以根據(jù)自己的興趣,或者根據(jù)需要,擇優(yōu)選擇學習。不過最后強調(diào)一下: ① 語言只是工具,假以時日,你都會熟練掌握一門/多門語言。 ② 編程語言用來表達你對計算機的理解,表達你的想法,所以解決問題的思路及方法更為重要。 |
|
來自: Frank_Chia > 《JAVA》