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

我們需要新的編程語言?你可能認爲並不需要,但是如果你去了解最近的趨勢,你可能會改變你的想法。爲什麼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引擎)。(李智/編譯)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章