• 1
  • 2
  • 3
  • 4
  • 5
阿里云应用开发 首 页  »  帮助中心  »  云服务器  »  阿里云应用开发
云计算时代12种编程语言最具潜力
发布日期:2016-7-29 11:7:38


  图1

  我们需要新的编程语言?可能你认为并不需要,但如果你去了解最近的趋势,了解像阿里云、GOOGLE这样的大企业的趋势,可能就会改变你的想法。为什么Google采用GO与DART两种编程语言?为什么IBM、Cray、Red Hat分别创造了X10、Chapel与Ceylon三种语言?

  未来,这10种编程语言(DART、Zimbu、Ceylon、GO、F#、OPA、Fantom、X10、Haxe、Chapel)是否能否撼动IT。新的编程语言是为满足某些人的创作冲动还是新编程方式的技术演进?


  图2 回顾历史

  若你回头看看,我们可看出新语言的爆发将历史分为3个时期,每个时期都链接到技术演进的临界点。


  图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),还可在其他几个平台(Scala on Android、Clojure & Fantom on JavaScript engine、Haxe on several platforms)。这事我们几十年来一直追逐的梦想,所以这就是创建跨平台语言的最好理由。

  4.规模化编程

  可读性、编译速度(Go、Zimbu)、模块化(Ceylon)、适合大型团队(Scala)、Meta-programmability(Ceylon、Scala)与简洁(Scala、Zimbu)是构建大型应用程序的编程语言的特性。

  云计算提供了几乎无限的计算能力,这让我们可以构建更大规模、更复杂的应用。当然构建大型应用需要大型团队与易于维护的代码。所以创建大型应用程序的编程语言势在必行。

  5.客户端编程

  替代JavaScript的DART、客户端与服务器端相同的语言(Naxe、Opa、Zimbu)自然有自己特有的优势。

  云计算需要客户端代码无缝的运行在多个客户端设备上,尽管JavaScript已经成为了一个标准,但没有人喜欢它。所以,需要构建比JavaScript更好的并适用于多客户端平台的语言。

  12种语言快速预览

  12种语言是按照A-Z进行排序的,有趣的是这12种语言都是遵循某种开源许可下(图表中不包括HTML5,因为从严格意义上它还不是一个新语言,同时也排除了Node.js,因为它仅是服务器端JavaScript引擎)。


  图4