萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 編程語言綜合 >> 十大令人討厭的編程語言排行

十大令人討厭的編程語言排行

  為了避免引起語言之爭,先聲明一下,這個榜單統計的是跨語言開發者最討厭的編程語言,比如你最喜歡使用A語言來編程,那麼可能會對其他語言的某些特性看不慣。

  這是一種很主觀的看法,上榜的語言不代表這個語言不好,只是說明某些開發者不太喜歡這個語言中的某些特性而已。歡迎在評論中說出你對某些語言的看法。

  下面這個排名是根據 Quora、Stack Overflow和Hacker News上相關帖子統計出來的。

  10. Python

  上榜理由:代碼縮進是用來指定塊的結構,為什麼不用括號或大括號呢?此外,大量使用冒號和下劃線,模塊、變量名沖突等。

  如何避免:不要去Google、Yahoo或NASA工作

  9. LabVIEW

  LabVIEW是一種由美國國家儀器(NI)公司研制開發的、類似於C和BASIC開發環境,使用圖形化編輯語言G編寫程序,產生的程序是框圖的形式。

  上榜理由:LabVIEW相當抽象,以致於將簡單的問題變得極其復雜。這完全違背了其最初的目的。

  如何避免:遠離儀器控制類或工業自動化類的編程工作。

  8. JavaScript

  上榜理由:區分大小寫,跨浏覽器需要不同的實現,缺乏調試功能(盡管可以使用Firebug)和奇怪的繼承規則。

  如何避免:不要去當Web開發人員。

  7. Tcl

  Tcl是一種腳本語言,最早稱為工具命令語言(Tool Command Language),但是目前已經不是這個含義。由John Ousterhout創建,經常被用於 快速原型開發 RAD、腳本編程、GUI和測試等方面。

  上榜理由:語法太簡單了,缺乏指針,無法通過引用來傳遞;將數組存儲為字符串;可憐的list語義和混亂的變量范圍。

  如何避免:不要去Cisco、AOL或CNET公司或任何AOLserver或OpenACS平台的公司工作。

  6. COBOL

  COBOL(Common Business Oriented Langauge,面向商業的通用語言),又稱為企業管理語言、數據處理語言等,這是一種面向數據處理的、面向文件的、面向過程(POL)的高級編程語言,是一種功能很強而又極為冗長的語言。

  上榜理由:極其繁瑣的語法(目的是對非程序員可讀);版本之間不兼容;缺乏面向對象編程、函數和指針等特性。

  如何避免:不要去 政府、金融領域或軍用企業工作。

  5. C++

  上榜理由:龐大的函數集;手動內存管理;編譯速度慢;事實上,它允許程序員在同一程序中同時使用面向對象和面向過程的編程模式。

  如何避免:一般情況下,不要去Adobe、Google或游戲領域工作。

  4. PHP

  上榜理由:大量函數存在不一致的命名約定;安全漏洞;無法原生支持Unicode;經常被混和在一些演示代碼(如HTML、CSS)中。

  如何避免:如果你從事Web方面的工作,這是很難避免的。但是,對於初學者來說,可以不去Facebook工作,遠離Wikimedia、Wordpress、Joomla和Drupal即可。

  3. Java

  上榜理由:語法冗長;慢;不容易傳遞函數;API過度設計;它能做的,其他語言也都能做,並且更加高效。

  如何避免:不要去當程序員,或不要使用Android SDK來開發任何應用程序。

  2. Perl

  上榜理由:Perl中完成一件事有太多種方法,使得你很難去理解其他人編寫的代碼;太簡潔,即使一段代碼實現的是最簡單的事情,看起來也難以去閱讀、維護。

  如何避免:不要去當程序員。

  1. Visual Basic

  上榜理由:它的語法被認為過於冗長和陌生,需要動態鏈接庫才能去運行它的代碼;對於面向對象編程的支持很有限;事實上,自從1998年以來,微軟已經不再提供正式支持了。

  如何避免:避免為開發老舊的Windows應用程序的公司工作。

  另外一種統計方法

  下面這種方法是根據Github上托管的代碼庫統計出來的,開發者使用GitHub API來統計Github項目代碼中出現“WTF(What the f**k)”字符串的數量,來確定項目開發者對於某種語言的某些特性的討厭程度,可見C++比較令人討厭。(這種方法有些開玩笑的意味)

十大令人討厭的編程語言排行    三聯教程

  你是否討厭某些語言中的某些特性呢?歡迎在評論中說出你的看法。

copyright © 萬盛學電腦網 all rights reserved