雲端計算時代最具潛力的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引擎)。(李智/編譯)
相關文章
- 近50年來最具影響力的10種程式語言,都是誰發明的?
- 雲端計算支援 IT 安全的12種方式
- 12 種程式語言的起源故事
- 12本最具影響力的程式設計師書籍程式設計師
- 誰是代替C語言的“潛力股”?C語言
- 盤點十個最炫酷的雲端計算程式語言
- 2019年,雲端計算還有發展的潛力嗎?
- 哪種程式語言的影響力最大?
- 國際最具潛力 IT 專業認證
- 十大與雲端計算息息相關的程式語言
- Java比Go更長壽:如何判斷哪種程式語言最有發展潛力?JavaGo
- 雲端計算潛在的五個問題
- 幾種計算機語言的評價計算機
- 網站安全公司最具潛力的20個職位網站
- 大資料時代下的雲端計算大資料
- Java (計算機程式語言)Java計算機
- 幽默:偏愛某種計算機語言的程式設計師簡稱計算機程式設計師
- 雲端計算深度挖掘“創新潛力”,北鯤雲深耕生命科學領域
- 未來的雲端計算語言?Go在Google內部崛起Go
- 雲端計算和開源時代的鎖定
- 雲端計算時代的深度學習訓練深度學習
- 雲端計算時代邊緣計算正蓬勃發展
- 雲端計算的多種類用途
- 釋放雲算力 繁榮雲生態,12 位技術專家解讀智算時代下的雲端計算 | 附PPT下載
- 雲端計算術語大全
- IT巨頭押注雲端計算,全球雲端計算進入寡頭競爭時代
- 在雲端計算時代,IBM的日子不好過IBM
- 幾種計算機語言的評價(修訂版)計算機
- 雲端計算的7種變化方式
- PaaS雲端計算平臺,雲端計算程式開發
- 雲端計算要選擇什麼模式的呢?雲端計算又有幾種模式?模式
- 雲端計算術語掃盲
- 彭民德:《電子計算60年》 (37)跨入雲端計算時代
- 論機器學習和程式語言:ML需要專用的計算機語言嗎?機器學習計算機
- 《時代》:2017年最具影響力網站網站
- 計算機程式語言的分類,解釋型語言、編譯型語言、指令碼語言的關係計算機編譯指令碼
- 淺談雲端計算時代的資料庫執行資料庫
- 雲端計算時代資料安全的三大竅門