2010年8月編程語言榜: 純面嚮對象語言前景黯淡?

 

2010年8月編程語言榜: 純面嚮對象語言前景黯淡?

【Csdn 8月3日 編譯】(文/楊東傑)TIOBE 8月編程語言排行榜 於近日發佈,本期最大變動是Smalltalk排名跌出Top50,Smalltalk是公認最早的純面向對象編程語言之一。

值得注意的是,在幾個月前,另一個知名純面嚮對象語言Eiffel也同樣被擠出Top50。這是否從某種程度上意味着一個趨勢:編程語言越來越多的走向多範式(Multi-paradigm),兼顧面向對象和麪向過程功能。

在7月排行榜,我們興奮的看到C#排名首次超越(Visual) Basic ,而在本期榜單上,(Visual) Basic又重新回到C#前面。

排名攀升最爲強勁的語言是:Objective-C、Go和MATLAB。

【Smalltalk小百科】

Smalltalk 被公認爲歷史上第二個面向對象的程序設計語言和第一個真正的集成開發環境 (IDE)。由Alan Kay,Dan Ingalls,Ted Kaehler,Adele Goldberg等於70年代初在Xerox PARC開發。Smalltalk對其它衆多的程序設計語言的產生起到了極大的推動作用,主要有:Objective-C,Actor, Java 和Ruby等。90年代的許多軟件開發思想得利於Smalltalk,例如Design Patterns, Extreme Programming(XP)和Refactoring等。

【更新】日前,《程序員》雜誌專門舉辦了“編程語言研討會”,以TIOBE編程榜爲參考,邀請了各編程語言社區的資深專家,共同探討編程語言那些事。部分精彩討論摘錄如下:

編程排行榜的價值

參加討論的各位專家都認爲,TIOBE排行榜總體上能夠反映編程語言的大趨勢。但可能由於數據源取樣的問題,JavaScript和shell的排名沒有反映出這兩種語言真實的使用廣泛性。每個開發人員都可能會用到它們,但很多情況下不會作爲一種技能放到招聘和應聘信息裏去。

那麼,這個國外編制的編程語言排行榜所反映的趨勢,是否和國內的情況一致呢?專家們也取得了共識:與國外相比,前十名編程語言的總體情況與國內差別不大。具體而言,排名較前的Objective-C、Perl相對來說在國內應用比較少,如果拿國內的數據進行分析,排名應該會在Delphi和 JavaScript之後。而由於國內Flash程序員較多,ActionScript的使用者比較多,它可能會進入前十名。

CSDN總編劉江補充說,從國內外語言趨勢的趨同性,還可以反映出國內技術社區水平與多年前相比有所提高,變得更加成熟了。Python資深開發者黃冬也表示,像Erlang、Scala、Ruby這些國外比較潮的語言在國內也受到追捧,證明了這一點。

編程語言的大趨勢

與會者分析了Tiobe近十年各種編程語言的消長。從左面的走勢圖可以看出,排在最前的Java、C和C++的排名一直是比較穩定的,但總份額一直在下降。也就是說,原來處於主導地位的語言,正在逐漸被新興的語言所取代。如果加上早年前五位的Visual Basic和Perl,這種趨勢就更加明顯。PHP、C#、Python、Objective-C是新興語言的代表。近來排行榜上最明顯的變化一個是 Objective-C的飆升,另一個是C#超越了Visual Basic。

從語言分類來看,總體上,以PHP、JavaScript等爲代表的動態語言的前景看好;函數式語言越來越受到重視,但過程式語言和面嚮對象語言的地位也不可取代。更多語言在向多範型的方向發展。

IBM中國研發中心高級工程師王堯對此有不同看法。他認爲,如果從語言特性來看,編程語言的總體變化並不大。值得關注的永遠是那麼幾門,可能有時候這門語言稍微上升點,有時候稍微下降點,從語言特性來說也沒有看到有什麼新的特性出來,不管是什麼泛型、函數式還是動態語言都是很多年前就已經出現的內容,只不過語言之間在不斷互相學習而已。可能相對來說,Python算比較新的語言,現在位於排行榜第七位,但也是熬了多少年才熬到這個地位,它本身並沒有什麼特別的東西。

一直在關注Hashell的韓祝鵬說:“語言在從實驗室和理論走到實際應用中,再在業界有機會爆發,需要一個很長的時間。從排行榜上也可以看出,排在前列的幾乎沒有十年以內的編程語言(最晚的C#誕生於2000年),很多都是二三十年的老傢伙了。有一些語言特性,比如說Class的出現,再比如 Template的出現,確實是石破天驚的變化,但也是多年前的事了。”

北理工教師金旭亮認爲,各種編程語言在互相融合,互相取長補短,靜態的和動態的融合,函數式語言和面嚮對象語言的融合,這都非常典型的現象。而微軟就是走這條路的。C#之父最近做了個演講,這三個趨勢分別是聲明式編程、動態、併發。(參見本期趙劼的文章“編程語言的發展趨勢及未來方向”)

影響編程語言的關鍵因素

韓祝鵬表示,編程排行榜的走勢可以反映出,業界的關注點是從傳統的桌面平臺和企業級開發,然後轉到Web開發,PHP、Python和Ruby的興起是代表,現在移動平臺上面的開發又成爲新的熱點,Objective-C的崛起是代表。

王堯認爲,平臺的變遷之路不是那麼簡單的。Web和native客戶端的競爭一直在進行,可能會長期並存。Web流行的時候,大家把包括實時應用的各種應用都往Web遷,但是後來發現Web有侷限性,因爲Web在這方面的界面表現能力無論如何是不能跟native相比的,所以後來就開始有一些矯正,於是客戶端又開始有一些復興。當然客戶端現在不可能再超過Web了。儘管現在網絡技術已經能做到Web是零客戶端,它不需要維護,但現在native客戶端也可以做到接近零維護,你可以讓它自動升級。從這點來說,客戶端模式正在比以前增長,在這種前提下,桌面級的應用還會有很大空間。C++、Delphi 最近又有所回潮,也反映了這一點。

Thoughtworks高級諮詢師任發科對此表示認同,桌面的應用開發便捷性要比Web開發高得多。所以在一定時間內,會比較穩定地佔據一席之地。

黃冬談到:“當某一種技術處在應用潮流的前端時,必然會帶來一波不同的語言,所以依照現在的形勢,包括雲計算技術等,我認爲它勢必會帶來適合於做這種計算的一波前端,或者說是服務器端的語言。比如說,要做雲計算,很有可能並不會提升C語言的市場佔有度,因爲不管是從服務器端,還是到客戶端來講,雲計算可能對C語言產生的需求都不足。而云計算帶動的一定是動態語言,而且這種語言的特性一定是:非常容易互嵌、適合於網絡。Java當年之所以會興起,正是適應了跨平臺方面的需求,PHP和Ruby的興起是與Web有關係。另外,現在移動終端設備上還缺乏一門有效的解釋型語言,也許JavaScript有機會。”

王堯認爲,影響編程語言趨勢的因素無非就兩個:第一個因素就是計算模型,但計算模型的變化非常緩慢,可能十年八年纔會有一次變革,而且就算有變化,對語言的影響也不是很大。第二個因素就是硬件設備,移動設備確實帶來了Objective-C的極大發展,這是我們看到的唯一趨勢。但是如果再往深探究一下,Objective-C也沒有什麼新的語言特性,跟C++差不多,它的那些特性早在C++誕生的時候就已經被反覆討論過了,只是後來一直沒有活躍起來。無非是它封閉在Mac這個圈子裏面太久,現在隨着Apple產品大行其道,Objective-C也突然就漲起來了,但是作爲一種語言特性它沒有什麼特別的地方。如果當初Apple不是選擇了Objective-C,而選擇了C++來作爲它的開發語言,現在肯定是另一番場景。語言本身的理論,在40年前該有的都有了。

與會專家還談到,在國內,影響編程語言的因素還有教育體系和語言本身是否易學易用。當然,由於市場經濟和社會的發展,現在年輕人選擇編程語言時也越來越主動和理性。

對於語言未來的發展,黃冬認爲,與單一供應商和專有平臺綁定太緊的語言,比如C#、Objective-C、Delphi,可能前景都不會太樂觀。而JavaScript和HTML會有較大潛力。王堯則透露了Delphi的下一步主攻方向是Mac平臺的消息。他還認爲,Web不可能成爲一統天下的平臺,因爲從哲學上看,不可能用一種方式解決所有問題。韓祝鵬則認爲,JavaScript雖然優勢很多,但是現在太亂,需要變革。

前二十名編程語言排名如下:

21到50名編程語言排名如下:

各類編程語言長期排名趨勢如下(近4年來,面向對象編程語言一直是最受歡迎的語言類型):

【說明】

TIOBE編程語言社區排行榜是編程語言流行趨勢的一個指標。每月更新。這份排行榜排名基於互聯網上有經驗的程序員、課程和第三方廠商的數量。排名使用著名的搜索引擎(諸如Google、 MSN 、雅虎)以及Wikipedia和YouTube進行計算。請注意這個排行榜只是反映某個編程語言的熱門程度,並不能說明一門編程語言好不好,或者一門語言所編寫的代碼數量多少。

這個排行榜可以用來考查你的編程技能是否與時俱進,也可以在開始開發新系統時選擇語言時用來進行策略性的決策。排行榜的詳細定義可以參考這裏。

【CSDN編者按】

這個排行榜從長期來看意義更大,短期則只有參考價值。請大家注意,我們每月按時編譯排行榜,目的是告訴大家技術趨勢,而不是引發沒有內容的編程語言口水戰(這類評論通常都會被刪去,相關不良記錄也會記入發帖者的帳號)。

我們想特別指出的是,各種語言都有其自身的長處和缺點,籠統比較優劣毫無意義。而且就目前一般的編程任務而言,基本上各種語言都能勝任,開發效率也和使用者的熟練程度密切相關。語言的此消彼長,關鍵在於社區,如果你熱愛哪一種語言,請到CSDN開設博客,多寫自己的心得、經驗、各種層次的教程,讓更多人體驗到這種語言之美,擴大自己的社區。我們歡迎有質量有內容的語言和框架比較的技術文章,堅決排斥浪費自己和他人時間和資源的口水戰。

發佈了39 篇原創文章 · 獲贊 10 · 訪問量 16萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章