編程語言在2011年中的起起落落

jopen 12年前發布 | 9K 次閱讀 編程語言

在過去的一年里,編程領域迎來了翻天覆地的變化:移動設備成為編程工作的主要平臺,而另一方面云也成為數據及應用程序的一大特定平臺。在二者之間,臺式機與筆記本電腦則在內存容量及處理器核心數方面突飛猛進。可以預見的是,上述變化將給開發語言的選擇帶來深遠影響。

極負盛名的 Tiobe 編程語言排名榜(一份相當權威的榜單,不僅密切關注各種語言及衍生產品,還會以百分比形式及時公布具體的變動幅度)表示,在過去一年中發展勢頭最強勁的語言為 Objective-C。我相信大家對這一結果應該不會太過驚訝。隨著 iPhone、iPod 以及 iPad(Mac 也在一定程度上推波助瀾)在全球范圍內的風靡,對 Objective-C使用技能的需求也得到了顯著提高。

移動設備的興起同樣對 Java 造成沖擊。盡管在過去十年中,Java 在 Tiobe 榜單上的各項數據已經處于衰退之中,但近兩年卻又有卷土重來之勢——我相信這與 Android 開發領域的繁榮密不可分——一年來,Java 甚至成功捍衛了自己的市場占有率。根據我的分析,Android 平臺的出現成功為 Java 找到了一展身手的空間,尤其是在諸如 Scala、Groovy 以及 JRuby 等 JVM 語言逐步蠶食臺式機及服務器平臺的大環境之下,新平臺堪稱是 Java 的救星。

隨著移動編程的繁榮發展,開發人員們也將注意力轉移到較為低級但更貼近硬件本身的編程語言上。通常情況下,由于移動設備上的應用程序往往使用較小的代碼庫,同時充分發揮硬件功能也需要使用特定種類的語言,因此腳本語言在這方面也顯得較為疲軟(蘋果公司對編程語言及工具的嚴格控制也助長了這種趨勢)。綜上所述,多年以來(也可能是有史以來)各種主流腳本語言——包括 Perl、Python、Ruby 以及 PHP 等——第一次兵敗滑鐵盧。其中 Python 與 Ruby 則折戟沉沙得更加徹底。

根據 Ohloh.net 網站的總結,Ruby 作為一款開源編程語言贏得了開發者們廣泛的關注,這從其獲得的捐贈數額上可見一斑;憑借這樣的人氣,Ruby 占據了 Tiobe 排行榜中的榜眼位置。而去年 Ruby 在代碼使用規模方面達到了 06 年以來的最低水平——只有 08 年鼎盛時期的五分之一。我認為這種現象的出現,部分原因在于 Ruby on Rails(簡稱 RoR)引發的熱潮漸漸平息;另外雖然 Ruby 框架本身不存在任何固有缺陷,但必須承認它只能作為大型項目的備選解決方案之一,而無法搞定所有問題。另外,其它類型的框架也已經開始在原創優勢方面痛下苦功,這進一步削弱了 RoR 的賣點。Python 在 Tiobe 排行榜中的下滑并沒有反映在 Ohloh 統計數字中,這可能表明盡管 Python 用戶群體并未縮水,但由于市場整體規模的迅速擴張,導致其相對份額變得更小。

我個人認為 PHP 的頹勢主要源自 JavaScript 的崛起。JavaScript 雖然在 Tiobe 排行榜中的晉升幅度并不夸張,但其在開源軟件項目中的使用比例卻有了長足進步。PHP 與 JavaScript 在功能性方面有著一定程度的重疊,而很明顯后者正慢慢成為時代的寵兒。一項新的調查(感謝 PHP 的出品公司 Zend 預先向我們透露了這份調查內容)顯示,82% 的 PHP 開發人員將 JavaScript 作為各選語言(而在二者之外排到第三位的競爭者 Java 則僅占據了微不足道的 24%)。不過目前還難以判斷 JavaScript 是否能夠將這種優勢一直保持下去。正如我在幾個月前的文章中所說,我越來越認同 JavaScript 將成為一種通用型中間語言的趨勢,而 Coffeescript 與 Dart 等則會成為前端語言的主流代表。就個人而言,我希望各瀏覽器廠商能夠愿意將 JavaScript 編譯化二進制程序作為未來瀏覽器加速機制的重要組成部分;不過我認為這同時可能會給某些瀏覽器在指令擴展方面走向開源,進而阻礙有針對性的性能優化。

由腳本語言轉向本機語言的的流行趨勢在 .NET 領域也表現得相當明顯。C#的一炮而紅就很說明問題(其提升幅度僅次于 Objective-C而排在第二),這股趨勢甚至一舉讓 C# 穩居 C++ 之上,占據了 Tiobe 排行榜的探花位置。我相信這種增幅在很大程度上與開發人員脫離 Visual Basic 有關。這種趨勢非常奇怪地削弱了 .NET 的主旨,即開發者在同一平臺上使用多種互操作語言的習慣。但事實上,與 .NET 相關的各類語言緊密圍繞在了以 C# 為核心的中央周圍,進而弱化了原有使用習慣帶來的益處(具有諷刺意味的是,JVM 則遭遇到完全相反的事態,即多種具有互操作性的備用語言逐漸占據上風)。

一年還不足以使一種趨勢成為常態,因此上述變化將以何種方式收尾目前還無法得到定論。然而非腳本語言的發展由于其遍地開花的良好勢頭,可能真的預示著長期以來束縛著開發者們的固定習慣即將動搖。盡管執行平臺在性能與接合的嚴密程度方面難免有所損失,但相比之下似乎一切都是值得的。結局會怎樣?讓我們拭目以待吧。

英文原文:The Rise and Fall of Programming Languages in 2011
來自: 51CTO

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!