浅析云计算时代最具潜力的12种编程语言
发布日期:2016-3-23 11:3:54
浅析云计算时代最具潜力的12种编程语言 我们需不需要新的编程语言?你可能认为并不需要,但是如果你去了解最近的趋势,你可能会改变你的想法。为什么IBM、Cray、Red Hat分别创造了X10、Chapel和Ceylon三种语言呢?Google采用GO和DART两种编程语言的原因是什么呢? 未来,这10种编程语言(Ceylon、DART、GO、OPA、F#、Zimbu、Fantom、Haxe、X10、Chapel)能否撼动IT。新的编程语言是为了满足某些人的创作冲动还是新编程方式的技术演进?如下图所示,为10种编程语言简图: 回顾历史 如果你回头看看,我们能够看出新语言的爆发将历史分为3个时期,每个时期都链接到技术演进的临界点。如下图所示: 图中时间点以外的还有其他重要语言: (1)Pascal – 1970、 (2)C – 1972、 (3)Prolog – 1972、 (4)Smalltalk – 1972、 (5)Erlang – 1986、 (6)Perl – 1987、(7)C# 云计算是不是会用到这些语言?如果你分析这些新语言背后的故事,你会看到一个新兴的共同主题。 一、多范式编程 支持面向对象和函数式编程语言(Clojure、F#、Fantom、Scala),相对于并行化程序要简单,而纯函数式语言看来并不是十分成功。所以,需要尝试多范式编程语言。 二、多平台编程 多平台编程语言不仅能够在JVM和CLR实施(Clojure、Fantom、Scala),还能够在其他几个平台(Clojure & Fantom on JavaScript engine、Scala on Android、Haxe on several platforms)。这事我们几十年来一直追逐的梦想,因此这就是创建跨平台语言的最好理由。 三、分布式/并行计算 可用于并行计算的编程语言(Cray的Chapel、IBM的X10)、并发编程(Clojure,Fantom,Go)和完整云栈单语言(Opa)。 由于云计算所有模式是将任务分发跨越不同地域的多个CPU并行或同时运行,因此,现今的编程语言都不是很适合。 四、客户端编程 替代JavaScript的DART、客户端和服务器端相同的语言(Naxe、Opa、Zimbu)自然有自己特有的优势。 云计算需要客户端代码无缝的运行在多个客户端设备上,虽然JavaScript已经成为了一个标准,但没有人喜欢它。所以,需要构建比JavaScript更好的并适用于多客户端平台的语言。 五、规模化编程 模块化(Ceylon)、编译速度(Go、Zimbu)、可读性、适合大型团队(Scala)、Meta-programmability(Ceylon、Scala)和简洁(Scala、Zimbu)是构建大型应用程序的编程语言的特性。 云计算提供了几乎无限的计算能力,这使得我们能够构建更大规模、更复杂的应用。当然构建大型应用需要大型团队和易于维护的代码。所以,创建大型应用程序的编程语言势在必行。 12种语言快速预览 12种语言是按照A-Z进行排序的,有趣的是这12种语言都是遵循某种开源许可之下(图表中不包括HTML5,因为从严格意义上它还不是一个新语言,同时也排除了Node.js,因为它仅仅是服务器端JavaScript引擎)。(李智/编译),如下图所示: 上一条: 关于旧金山市CTO的专访:开放数据项目背后的架构与云 下一条: SaaS平台应用开发需要考虑哪些因素
|