聲明:本榜單統(tǒng)計的是跨語言開發(fā)者最討厭的編程語言,比如你最喜歡使用A語言來編程,那么可能會對其他語言的某些特性看不慣。這是一種很主觀的看法,上榜的語言不代表這個語言不好,只是說明某些開發(fā)者不太喜歡這個語言中的某些特性而已。
本排名是根據(jù)Quora、Stack Overflow 和 Hacker News 上相關(guān)帖子統(tǒng)計出來的。
1.Visual Basic
上榜理由:它的語法被認為過于冗長和陌生,需要動態(tài)鏈接庫才能去運行它的代碼;對于面向?qū)ο缶幊痰闹С趾苡邢?事實上,自從1998年以來,微軟已經(jīng)不再提供正式支持了。
如何避免:避免為開發(fā)老舊的 Windows 應(yīng)用程序的公司工作。
2.Perl
上榜理由:Perl中完成一件事有太多種方法,使得你很難去理解其他人編寫的代碼;太簡潔,即使一段代碼實現(xiàn)的是最簡單的事情,看起來也難以去閱讀、維護。
如何避免:不要成為一個程序員。
3.Java
上榜理由:語法冗長;慢;不容易傳遞函數(shù);API過度設(shè)計;它能做的,其他語言也都能做,并且更加高效。
如何避免:不要使用Android SDK來開發(fā)任何應(yīng)用程序。
4.PHP
上榜理由:大量函數(shù)存在不一致的命名約定;安全漏洞;無法原生支持 Unicode;經(jīng)常被混和在一些演示代碼(如HTML、CSS)中。
如何避免:如果你從事Web方面的工作,這是很難避免的。但是,對于初學者來說,可以不去Facebook工作,遠離Wikimedia、Wordpress、Joomla和Drupal 即可。
5.C++
上榜理由:龐大的函數(shù)集;手動內(nèi)存管理;編譯速度慢;事實上,它允許程序員在同一程序中同時使用面向?qū)ο蠛兔嫦蜻^程的編程模式。
如何避免:一般情況下,不要去Adobe、Google或游戲領(lǐng)域工作。
6.COBOL
COBOL(Common Business Oriented Langauge,面向商業(yè)的通用語言),又稱為企業(yè)管理語言、數(shù)據(jù)處理語言等,這是一種面向數(shù)據(jù)處理的、面向文件的、面向過程(POL)的高級編程語言,是一種功能很強而又極為冗長的語言。
上榜理由:極其繁瑣的語法(目的是對非程序員可讀);版本之間不兼容;缺乏面向?qū)ο缶幊、函?shù)和指針等特性。
如何避免:不要去政府、金融領(lǐng)域或軍用企業(yè)工作。
7. Tcl
Tcl是一種腳本語言,最早稱為工具命令語言(Tool Command Language),但是目前已經(jīng)不是這個含義。由John Ousterhout創(chuàng)建,經(jīng)常被用于快速原型開發(fā)RAD、腳本編程、GUI和測試等方面。
上榜理由:語法太簡單了,缺乏指針,無法通過引用來傳遞;將數(shù)組存儲為字符串;可憐的 list 語義和混亂的變量范圍。
如何避免:不要去Cisco、AOL或CNET公司或任何AOLserver或OpenACS平臺的公司工作。
8.JavaScript
上榜理由:區(qū)分大小寫,跨瀏覽器需要不同的實現(xiàn),缺乏調(diào)試功能(盡管可以使用Firebug)和奇怪的繼承規(guī)則。
如何避免:不要成為一個Web開發(fā)人員。
9.LabVIEW
LabVIEW是一種由美國國家儀器(NI)公司研制開發(fā)的、類似于C和BASIC開發(fā)環(huán)境,使用圖形化編輯語言G編寫程序,產(chǎn)生的程序是框圖的形式。
上榜理由:LabVIEW相當抽象,以致于將簡單的問題變得極其復雜。這完全違背了其最初的目的。
如何避免:遠離儀器控制類或工業(yè)自動化類的編程工作。
10.Python
上榜理由:代碼縮進是用來指定塊的結(jié)構(gòu),為什么不用括號或大括號呢?此外,大量使用冒號和下劃線,模塊、變量名沖突等。
如何避免:不要去Google、Yahoo或NASA工作
|