很顯然,軟體開發領域中的程式設計師對程式語言最有發言權。一種語言可能是一些程式設計師的最愛,但它同時也是另一些程式設計師的噩夢。如果你在程式設計領域呆了一段時間,你就遲早會發現有些語言由於古怪的語法、靈活性不夠(或過於靈活)、差勁的除錯功能或其它原因讓你抓狂,甚至崩潰。根據程式設計師在Quora,Stack Overflow和Hacker News這三大國外論壇上的討論,我們挑選了其中10大最讓程式設計師不爽的程式語言,並解釋了原因。下面PHP100就帶你具體看一看這個有趣的清單。
1. Visual Basic
語言介紹:這種語言和相應的開發環境通常是用來開發Windows應用程式(圖形介面),它是由微軟公司發明,對於初學者比較簡單,可以將寫程式碼與使用圖形化和拖拽技術相結合。程式設計師的吐槽:它的語法過於囉嗦和冗長,而且有些地方有些奇怪,它需要動態連結庫執行,而且基本上不支援物件導向開發。自從1998年它就不再受到微軟的官方支援了。
2. Perl
語言介紹:Perl是一種高階的,用途廣泛的解釋型語言,它被形容為網際網路的管道膠帶。Perl被應用在各個方面,從CGI指令碼到系統和網路的管理。程式設計師的吐槽:對Perl最大爭議就在與它極大的靈活性和過度冗餘的語法,它有著“只能寫”的稱號(write-only language),程式碼很難被其他人閱讀和維護。
3. Java
語言介紹:Java起初是一種被用在互動電視上的語言,逐漸成為最受歡迎的物件導向程式語言之一。Java程式碼被編譯為位元組碼,然後由Java虛擬機器解釋,所以它可以執行在任意的平臺上(Write Once,Run Anywhere)。程式設計師的吐槽:Java的語法有些冗長,執行較慢,API有些被過度設計。很多其他語言實現相同的功能可以更高效。
4. PHP
語言介紹:PHP是在伺服器端非常流行的一種解釋型指令碼語言,可以動態生成HTML頁面。它也可以單獨作為一種指令碼語言應用在多種作業系統上。程式設計師的吐槽:它在很多功能上有不一致的命名規則,有一些安全漏洞,不天然支援Unicode,還有它經常會和前端的HTML/CSS程式碼混在一起。
5. C++
語言介紹:C++作為一種中級別的語言,被人們當做是C的擴充套件,支援物件導向程式設計。如今它依然是非常流行的,並被各領域廣泛應用。程式設計師的吐槽:具有過大的特徵集、需要手工管理記憶體、編譯速度慢、在同一程式中有時需要在程式導向和麵向物件間相互轉換。
6. COBOL
語言介紹:1959年,COBOL被指定設計為支援商業和政府管理的一門程式語言,它的全稱是Common Business-Oriented Language。程式設計師的吐槽:超級冗長的語法規則、版本間不相互相容,而且在COBOL 2002版本以前不支援物件導向、函式和指標。
7. TCL
語言介紹:TCL(Tool Control Language)最早被稱為工具控制語言,逐漸發展成為一種多用途的指令碼語言,被應用到Web開發、網路管理和自動測試上。程式設計師的吐槽:TCL的規則過於簡單了,沒有指標,所以它不支援引數傳遞。另外它的陣列被儲存為字串格式,在語義和變數作用域上都做的較差。
8. JavaScript
語言介紹:它是一種直譯式指令碼語言,主要作為應用在Web頁面上的客戶端指令碼語言。它同時也可以執行在服務端,作為一種內嵌式指令碼語言。程式設計師的吐槽:JavaScript對大小寫敏感,依賴於不同的瀏覽器,欠缺較強的除錯能力,而且有著奇怪的繼承規則。
9. LabVIEW
語言介紹:它的全稱是Laboratory Virtual Instrument Engineering Workbench,使用的是圖形化編輯語言G編寫程式,產生的程式是框圖的形式,被用於測量和控制系統。程式設計師的吐槽:GUI程式設計會把那些非常簡單的任務變得很複雜。
10. Python
語言介紹:一種語法簡潔而清晰的高階語言,它通常被當做指令碼語言,但其實它是可以被編譯的。程式設計師的吐槽:它是用縮排來區分語句間的關係,而不是用通常的括號。程式中通常會有很多的冒號和下劃線。
原文:http://www.itworld.com/article/2823526/enterprise-software/120222-10-programming-languages-to-make-a-developer-pull-his-or-her-hair-out.html
譯文:http://www.php100.com/html/it/focus/2014/1215/8060.html
來自:PHP100
相關閱讀
評論(1)