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引擎)。(李智/编译)

时间: 2024-08-30 11:03:03

12种编程语言激发云时代的潜力的相关文章

云计算时代最具潜力的12种编程语言

  我们需要新的编程语言?你可能认为并不需要,但是如果你去了解最近的趋势,你可能会改变你的想法.为什么Google采用GO和DART两种编程语言?为什么IBM.Cray.Red Hat分别创造了X10.Chapel和Ceylon三种语言? 未来,这10种编程语言(DART.Ceylon.GO.F#.OPA.Fantom.Zimbu.X10.Haxe.Chapel)是否能否撼动IT.新的编程语言是为了满足某些人的创作冲动还是新编程方式的技术演进? 回顾历史 如果你回头看看,我们可以看出新语言的爆发

12 种编程语言的起源故事

过去的几十年间,大量的编程语言被发明.被替换.被修改或组合在一起.每种语言总在争论中诞生,又在进化中消亡.而这些语言的的创造者,无一不是编程世界中的标志性人物,高举探索的旗帜不断前行.敬仰之情促使了这篇文章的诞生,这里收集并分享了这五十年来最成功.最流行的十二门编程语言和它们的创造者的故事. 1.Java 的起源 1990 年代初,任职于 Sun 公司的詹姆斯·高斯林等人开始开发 Java 语言的雏形,最初被命名为 Oak,目标设置在家用电器等小型系统的程序语言,应用在电视机.电话.闹钟.烤面包

SAI 12种眉毛的画法

  SAI资源库古风美少女,眉如画,12种眉毛的画法;点绛唇,9款各时代的嘴唇画法以;鬓似云,12款古代头发的画法;非常赞的资料,值得借鉴

《大话Oracle Grid:云时代的RAC》——1.3 环境准备

1.3 环境准备 大话Oracle Grid:云时代的RAC RAC的环境准备可以分成4个方面:主机.用户.存储和网络.在准备阶段中,Oracle 11.2和10.2 RAC之间最重要的区别体现在用户这一方面.在Oracle 11.2之前的版本中,只需要创建一个用户oracle和一个用户组dba.而在Oracle 11.2中,需要创建两个操作系统用户oracle和grid,以及至少4个操作系统用户组.这么做的原因会在后面的章节中介绍. 1.3.1 主机环境 主机环境包括硬件环境.软件环境,硬件中

运维侠客行杭州站沙龙回顾 | 云时代下的运维管理实践(附干货下载)

我们处在一个巨变的时代,在云计算.大数据和物联网等新技术.新理念不断更新的大背景下,企业同时面临着数字化和"互联网+"转型的双重挑战,企业对于"稳态IT"和"敏态IT"都提出了强烈的需求,如何推进双态环境下的技术演进变成全行业共同面临的难题. 在这样一个"时空交错"中,优云软件推出了一个名为:"运维侠客行"的线下沙龙品牌,杭州作为首站,活动当天汇聚了来自不同行业和企业的运维从业人员,其中有几十年的运维老兵,

迎接混合云时代 IBM云计算发展大提速

本文讲的是迎接混合云时代 IBM云计算发展大提速,[IT168 资讯]近日,"IBM云计算体验周"在北京隆重召开,这是IBM在国内首次以体验周的形式展现自身全方位展示IBM在混合云发展趋势下全方位能力.众多企业.合作伙伴.行业领袖与大家分享如何通过与IBM合作在各自的领域通过云计算进行创新的实践. 2014年是IBM云计算快速发展的一年,通过多年的战略投入和布局,云计算业务取得了长足的发展. 刚刚发布的IBM年报显示,2014年云计算业务营收已经达到70亿美金(这是原本IBM 2015

玩转大数据:需要知晓的12种工具

本文讲的是玩转大数据:需要知晓的12种工具,无论是在构建大数据的应用程序,还是仅仅只想从开发的移动应用中得到一点点启发,程序员现在比以往任何时候都需要数据分析工具.这绝对是一个好东西,所以很多公司从程序员的需求和技能出发,构建了一些数据分析工具. 在过去的几年里,Derrick看到了很多初创公司,各类项目以及开发工具等等,它们都旨在为程序员带来先进的数据分析能力.有时候,程序员们会使用简单的脚本开发出强大的显示效果,或者在开发过程中使用一种更简易的方式来实现数据的交付功能,Derrick相信这是

2015年你需要学习的15种编程语言

如果你是一个程序员,那么你的美好时光来了.根据美国劳动统计局的预测,计算机方面的工作岗位将在接下来的七年时间里增长8%.如果你很擅长于写代码,那么你的薪资可以高达300美元一小时甚至更多. 想要拿到这一领域的高薪,那么你就得掌握最需要的几门编程语言. 下面是Doug Winnie--在线学习平台Lynda的内容总监指出的2015年你需要知道的15种编程语言: 1. Java Java用于构建企业web应用的后端,是当今最为流行的编程语言之一.Web开发人员可以凭借Java和基于Java的框架为各

企业数字化转型不可忽视的12种数据

文章讲的是企业数字化转型不可忽视的12种数据,大数据经过几年的发展,已经正式进入到了价值变现的阶段.大数据时代,企业生存发展面对的两个关键是流量入口和场景应用,而流量入口的最终目的一定是数据. 人们常说这是一个"数据为王"的时代,其实我认为称王的不是数据本身,而是数据的价值转换率.Hartman Executive Advisors总裁Dave Hartman,表示:目前很多企业的数据量已经足够了,但是数据的利用率实在太低了,大部分的数据还处于原始转态. 数据孤岛是导致企业决策失误.错