回顧2011年9種程式語言的發展趨勢

發表於2011-12-22

英文出自:Dzone,編譯:CSDN-夏夢竹

導讀:本文作者Robert Diana是一名軟體工程師,同時也是國外知名技術部落格YackTrack.com的創始人,曾寫過大量關於程式語言以及語言職位需求趨勢的文章。

2010年末,Robert Diana寫了一篇2011年需要關注的9大程式語言。現在2011年即將結束了,讓我們來看看這些語言在這一年中發生了什麼變化。(注意,所選的這些語言是作者希望他們的發展能有所變動,不管排名是上升還是下降。因此,這裡並沒有Java、Ruby、Python或者Objective-C等這些熱門語言。)

首先,讓我們回顧下2011年初對這些語言的發展展望:

Lua——在GitHub和StackOverflow上,這門語言比較活躍。它在Tiobe上的排名也比較穩定,但是,更加重要的是,Lua的職位越來越多了。對於Lua來說,目前的趨勢表明Lua將會成為主流的程式語言。

R ——資料分析和大資料處理逐漸成為每個Web站點不可分割的一部分,處理這些資料群的語言也逐漸流行起來了。和R語言有關的職位需求也是相當有趣。

Clojure ——雖然在Tiobe的排行榜中,Clojure並不是很流行,但是,在某些程式設計領域中,它是很流行的。它的職位需求趨勢的增長表明,在明年,它的接受程度會大大增加。

Go——只有Tiobe把它當成一門流行的語言。在Dataist Tier中,它的排名並不好,而且職位需求趨勢也不是十分可靠。但是,對於它的“孃家”Google來說,它可能不需要純粹的,系統化的增長。

Erlang——這門語言已經誕生好幾年了,在各個領域發展的都不錯。隨著像XMPP(確切地說應該是eJabberd),PubSubHubbub那樣的實時技術的持續增長,2011年,它的排名可能僅次於Python。

Scala——這將是最有趣的趨勢之一。在Dataist Tier中,Scala表現的很好,但是它沒有排到Tiobe的目錄中。Scala的職位需求正在穩步地增長,使用者(例如:Twitter)也在日漸增多,在明年,Scala的接受程度可能會得到極大地提高。

Groovy——無論如何,我認為Groovy已經錯失良機了。它是一門堅實的指令碼語言,它的職位需求的增長情況也不錯,但是它如何把它自己和Ruby, Python, Erlang 和 Scala區分開來呢?

Scheme——無論何種原因,這門語言都不肯“離去”,實際上,它又引起了大家一些興趣。它的職位需求的增長情況不容樂觀,在它第一次“大爆發”以後已經至少過去30年了,明年,我們可能也不會看到它的第二次“大爆發”。

ActionScript——ActionScript之所以包含在這個列表裡是因為它在Tiobe 和 Dataist Tier的排名都很高。但是,這門語言的就業趨勢並不好。可能它的“熱度”正在退去,所以在明年,你也應該留意一下這門語言。

那麼,在2011年這些語言究竟發展的如何呢?從就業趨勢能反應出企業的需求度。值得注意的是,職位需求資料表明了想要去抓住語言開發是很困難的。圖中Go和R語言沒有出現在列表裡,因為很難找到合適的崗位需求,而Scheme依然在列表裡,它的需求發展緩慢。

首先,讓我們看一看來自於Indeed.com的職位需求趨勢圖:


2011年9種程式語言的發展趨勢

程式語言職位需求趨勢

如圖所示,ActionScript持續下滑,且下降的趨勢較為明顯。Scheme在緩慢地增長,相對而言發展比較穩定,沒有多大浮動。Groovy在過去幾年裡呈現穩健增長趨勢,Scala的需求似乎在迅速增加。Lua僅呈現小幅度增長,超過了Erlang和Clojure。

程式語言職位增長趨勢圖:

2011年9種程式語言的發展趨勢

程式語言職位增長趨勢圖

從圖中我們可以看到,Lua和Clojure呈爆炸性的增長趨勢,但是還沒有轉化成大量的職位需求。與此同時,發展迅速的還有Scala、Erlang和Groovy。與之相比,Scheme和ActionScript卻無明顯變化。

九大程式語言在2011年這一年裡的發展情況:

1.Go (Tiobe排名:34 浮動:-13):在TIOBE排行榜上下降13位,在StackOverflow和GitHub上活躍度有所減少。儘管是Google推出的本土語言,但似乎並未獲得更多的主流關注。兩年前Google的一個小組公開了他們的孵化專案——Go程式語言。如今Go語言釋出兩週年,谷歌將在明年初推出Go語言首個正式版本1.0,Go將幫助程式設計師開發更大的系統。

2.R(Tiobe排名:24 浮動:+2):TIOBE排名只上升2位,在GitHub和StackOverflow上也無明顯變化。鑑於R不是一種通用語言,其受歡迎程度還是有些令人驚訝的。R作為開源的資料統計分析語言正潛移默化的在企業中擴大自己的影響力。特有的擴充套件外掛可提供免費擴充套件,並且允許R語言引擎執行在Hadoop叢集之上。不僅如此,R語言還提供對64位資料處理的支援。

3.Lua(Tiobe排名:21 浮動:+6):TIOBE排名上升6位,但在GitHub和StackOverflow上有所下降。不過,其職位需求趨勢很好。所以,我們應該繼續觀望Lua在下一年的發展。歷經近兩年的漫長開發流程後,Lua終於釋出了5.2正式版。很多應用程式使用LUA作為自己的嵌入式指令碼語言,以此來實現可配置性、可擴充套件性。這其中包括《魔獸世界》、《博德之門》以及大名鼎鼎的《憤怒的小鳥》等。

4.Scheme(Tiobe排名:30 浮動:-1):毫無疑問,在TIOBE上沒有太大變化。在GitHub和StackOverflow上也同樣如此,伴隨著其他語言的增長趨勢,對Scheme的需求似乎也不大。

5.ActionScript(Tiobe排名:50–100 浮動:->13):可以看到,ActionScript下跌幅度之大,在TIOBE上排名在從50滑落至100。職位需求呈下降趨勢,在StackOverflow和GitHub上活躍度沒有多大改變。可以料想,ActionScript在2012年發展不容樂觀。

6.Erlang(Tiobe排名:29 浮動:20):今年最大的獲益者莫過於Erlang,它在TIOBE排名上升20位,這一增長趨勢與StackOverflow and GitHub上似乎不大匹配。職位趨勢出現積極跡象,所以,我們該留意下這門語言。想學習Erlang語言嗎?Erlang之父教你如何入手。

7.Groovy(Tiobe排名:45 浮動:>5):TIOBE排名出現在前50名之內。在StackOverflow和GitHub上活躍度也有所提升。它的職位需求的增長情況也不錯,發展較為穩定。Groovy官方沒有做任何說明為什麼要修改授權協議,只是簡單的提了Groovy的授權協議改為Apache。不知道是否有意向轉到Apache組織,不得而知。

8.Scala (Tiobe排名: 50-100 浮動:0):鑑於Scala在TIOBE排名上盤旋於50-100之間,我們無法預料它的增長趨勢。總的來說,在StackOverflow和GitHub上活躍度也無明顯變化。但從職位需求趨勢上顯示了肯定了它的增長速度。今年Google推出C++ Go Java Scala的基準效能測試,Scala效能要快於Java,報告推出時也恰逢Scala Day,所以對Scala有特別意義。

9.Clojure (Tiobe排名: 50-100 浮動:+?) :Clojure從100上升到50-100之間,呈穩定增長趨勢,奇怪的是在StackOverflow和GitHub上活躍度不明顯。從它的職位需求趨勢來看不是很樂觀,但它的增長趨勢確實很理想。Closure在2012年勢必將大有作為。

那麼,在2012年各程式語言又會有怎樣的發展呢?讓我們拭目以待吧。我知道大家會有很多的意見和想法,歡迎您在評論中列出。


相關文章