雲端計算時代最具潛力的12種程式語言

sys-con發表於2012-08-28

  我們需要新的程式語言?你可能認為並不需要,但是如果你去了解最近的趨勢,你可能會改變你的想法。為什麼Google採用GO和DART兩種程式語言?為什麼IBM、Cray、Red Hat分別創造了X10、Chapel和Ceylon三種語言?

  未來,這10種程式語言(DART、Ceylon、GO、F#、OPA、Fantom、Zimbu、X10、Haxe、Chapel)是否能否撼動IT。新的程式語言是為了滿足某些人的創作衝動還是新程式設計方式的技術演進?

  回顧歷史

  如果你回頭看看,我們可以看出新語言的爆發將歷史分為3個時期,每個時期都連結到技術演進的臨界點。

  圖中時間點以外的還有其他重要語言:(1)Pascal – 1970、(2)C – 1972、(3)Prolog – 1972、(4)Smalltalk – 1972、(5)Erlang – 1986、(6)Perl – 1987、(7)C#

  雲端計算是否會用到這些語言?如果你分析這些新語言背後的故事,你會看到一個新興的共同主題。

  1.分散式/平行計算

  可用於平行計算的程式語言(Cray的Chapel、IBM的X10)、併發程式設計(Clojure,Fantom,Go)和完整雲棧單語言(Opa)。

  由於雲端計算所有模式是將任務分發跨越不同地域的多個CPU並行或同時執行,所以現今的程式語言都不是很適合。

  2.多正規化程式設計

  支援物件導向和函數語言程式設計語言(Clojure、F#、Fantom、Scala),相對於並行化程式要簡單,而純函式式語言看來並不是十分成功。因此,需要嘗試多正規化程式語言。

  3.多平臺程式設計

  多平臺程式語言不僅可在JVM和CLR實施(Clojure、Fantom、Scala),還可以在其他幾個平臺(Clojure & Fantom on JavaScript engine、Scala on Android、Haxe on several platforms)。這事我們幾十年來一直追逐的夢想,因此這就是建立跨平臺語言的最好理由。

  4.規模化程式設計

  可讀性、模組化(Ceylon)、編譯速度(Go、Zimbu)、適合大型團隊(Scala)、Meta-programmability(Ceylon、Scala)和簡潔(Scala、Zimbu)是構建大型應用程式的程式語言的特性。

  雲端計算提供了幾乎無限的計算能力,這使得我們可以構建更大規模、更復雜的應用。當然構建大型應用需要大型團隊和易於維護的程式碼。因此建立大型應用程式的程式語言勢在必行。

  5.客戶端程式設計

  替代JavaScript的DART、客戶端和伺服器端相同的語言(Naxe、Opa、Zimbu)自然有自己特有的優勢。

  雲端計算需要客戶端程式碼無縫的執行在多個客戶端裝置上,雖然JavaScript已經成為了一個標準,但沒有人喜歡它。因此,需要構建比JavaScript更好的並適用於多客戶端平臺的語言。

  12種語言快速預覽

  12種語言是按照A-Z進行排序的,有趣的是這12種語言都是遵循某種開源許可之下(圖表中不包括HTML5,因為從嚴格意義上它還不是一個新語言,同時也排除了Node.js,因為它僅僅是伺服器端JavaScript引擎)。(李智/編譯)

相關文章