云計算時代最具潛力的12種編程語言
我們需要新的編程語言?你可能認為并不需要,但是如果你去了解最近的趨勢,你可能會改變你的想法。為什么Google采用GO和DART兩種編程語言?為什么IBM、Cray、Red Hat分別創(chuàng)造了X10、Chapel和Ceylon三種語言?
未來,這10種編程語言(DART、Ceylon、GO、F#、OPA、Fantom、Zimbu、X10、Haxe、Chapel)是否能否撼動IT。新的編程語言是為了滿足某些人的創(chuàng)作沖動還是新編程方式的技術(shù)演進?

回顧歷史
如果你回頭看看,我們可以看出新語言的爆發(fā)將歷史分為3個時期,每個時期都鏈接到技術(shù)演進的臨界點。

圖中時間點以外的還有其他重要語言:(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)、并發(fā)編程(Clojure,F(xiàn)antom,Go)和完整云棧單語言(Opa)。
由于云計算所有模式是將任務(wù)分發(fā)跨越不同地域的多個CPU并行或同時運行,所以現(xiàn)今的編程語言都不是很適合。
2.多范式編程
支持面向?qū)ο蠛秃瘮?shù)式編程語言(Clojure、F#、Fantom、Scala),相對于并行化程序要簡單,而純函數(shù)式語言看來并不是十分成功。因此,需要嘗試多范式編程語言。
3.多平臺編程
多平臺編程語言不僅可在JVM和CLR實施(Clojure、Fantom、Scala),還可以在其他幾個平臺(Clojure & Fantom on JavaScript engine、Scala on Android、Haxe on several platforms)。這事我們幾十年來一直追逐的夢想,因此這就是創(chuàng)建跨平臺語言的最好理由。
4.規(guī)?;幊?/strong>
可讀性、模塊化(Ceylon)、編譯速度(Go、Zimbu)、適合大型團隊(Scala)、Meta-programmability(Ceylon、Scala)和簡潔(Scala、Zimbu)是構(gòu)建大型應(yīng)用程序的編程語言的特性。
云計算提供了幾乎無限的計算能力,這使得我們可以構(gòu)建更大規(guī)模、更復(fù)雜的應(yīng)用。當然構(gòu)建大型應(yīng)用需要大型團隊和易于維護的代碼。因此創(chuàng)建大型應(yīng)用程序的編程語言勢在必行。
5.客戶端編程
替代JavaScript的DART、客戶端和服務(wù)器端相同的語言(Naxe、Opa、Zimbu)自然有自己特有的優(yōu)勢。
云計算需要客戶端代碼無縫的運行在多個客戶端設(shè)備上,雖然JavaScript已經(jīng)成為了一個標準,但沒有人喜歡它。因此,需要構(gòu)建比JavaScript更好的并適用于多客戶端平臺的語言。
12種語言快速預(yù)覽
12種語言是按照A-Z進行排序的,有趣的是這12種語言都是遵循某種開源許可之下(圖表中不包括HTML5,因為從嚴格意義上它還不是一個新語言,同時也排除了Node.js,因為它僅僅是服務(wù)器端JavaScript引擎)。(李智/編譯)
