十种可能改变IT行业走向的编程语言

我们真的还需要那么多新型编程语言吗?当前开发人员们所拥有的选择无疑已经相当丰富。命令型语言、函数型语言、面向对象型语言、动态语言、编译语言解释型语言以及脚本语言等等似乎已经完全罩得住我们可能面对的一切任务,而且时至今日也几乎没有哪位专业人士能够通晓上述全部语言。

然而,新型语言仍然在以惊人的速度不断涌现。有些是学生或者爱好者以个人项目的形式所设计,另一些则是来自大型IT供应商的产品。甚至连中小型企业也不甘势弱,积极针对其所在行业的需要开发出服务用语言。为什么人们如此热衷于这种重复性劳动呢?

答案其实很简单,尽管目前大家手头的语言在功能性与通用性方面已经相当强大,但仍然没有哪种单独的语法规则能够最大程度迎合任何一种实际需求。更重要的是,编程行为自身也处于不断的发展变化当中。多核CPU的崛起、云计算的升温、高流动性与分布式体系结构,这一切的一切都向开发人员提出了新的技术性挑战。要为现有语言——尤其是当下流行的语言——添加最新功能、范例以及模式可以说比登天还难。有时候直接搞一套新语言往往是最佳解决方案。

那么在这里,我将带大家一同纵览十种位居业界前沿的编程语言;其中每种方案都从全新的视角诠释了软件开发工作的艺术性,并以各自不同的特色解决了某些具体问题或是弥补了当下某款主流语言的独有缺憾。它们中有些是已经颇为成熟的项目,而有些则尚处于自身发展的初级阶段。有些可能对于大家来说还相当陌生且显得晦涩但懂,但毋庸置疑的是,它们很可能在未来给开发业界带来颠覆性的突破,并彻底改变今年数年的编程工具发展趋势——至少在新一代语言面世前,它们就是未来的生力军。

实验性编程语言第一位: Dart

JavaScript在为网络页面添加基本交互功能方面表现拔群,但当网页应用程序的体积达到数千行代码时,该语言的局限性就将暴露无遗。谷歌正是基于这种缺憾而推出了Dart,而这种语言也承载了谷歌为网页编程带来全新标准的雄心壮志。

与JavaScript相似,Dart采用了与C语言相似的语法及关键字。然而Dart与JavaScript最为显著的区别在于,前者中的对象明确指向类及接口,这与C++及Java颇有异曲同工之妙。Dart还允许程序员们利用静态式有选择地声明变量。追溯设计者的思路,他们应该是希望Dart与JavaScript一样更易于学习、保有动态特色以及流畅的执行效果,这样一来开发人员就能够在编写代码方面投入较少的时间,产品维护也将更为便捷,同时细小的错误带来的影响也将被降至最低程度。

目前我们还不能用Dart解决太多实际问题。其设计理念是希望该语言能够同时运行于客户机与服务器之上(与Node.js差不多),但现在惟一能够让Dart代码在客户端上运行的办法是将其通过编译转换为JavaScript。甚至它还不能正确作用于每一款浏览器。不过由于Dart以BSD类开源许可方式进行发布,因此任何购买了谷歌版本的厂商都可以随意将其构建于自己的产品当中。谷歌要做的只是说服业界接受这个编程领域的新生儿即可。

实验性编程语言第二位: Ceylon

Gavin King并不承认Ceylon这款他在红帽公司中创造出来的语言肩负着“Java终结者”的历史使命。在King的从业经历中,最为耀眼的一页正是他作为Hibernate——Java对象关系映射框架的创建者所赢得的赞誉。他喜欢Java,但他仍然认为Java还有很多提升空间。

King对于Java的抱怨主要集中在冗长的语法结构,这种语言缺乏一级与高端功能,而且对元编程的支持也相当薄弱。而更令他感到沮丧的是,Java中对于结构化数据定义的声明性语法极为欠缺,用他的话来说这使得Java“与XML根本无法分割。”Ceylon的目标就是解决上述疑难杂症。

King与他的团队并不打算完全从零做起。Ceylon虚拟机就不会出现,此类功能将通过Ceylon编译器将内容转换为Java字节代码,进而运行于JVM当中。不过Ceylon绝不会止步于一款编译器这么简单。该项目的一大雄心是打造一套全新的Ceylon SDK体系来取代Java SDK,引用King对于后者的评价——结构臃肿、笨拙,且从来没有得到“适当的、与时俱进的调整。”

这是一项艰巨的任务,因为红帽公司到目前为止还没有发布过任何一款Ceylon工具。King表示自己期待着能在年内看到一款编译器出现,但不会指望短时间内会有“百分之百由Ceylon编写”的软件问世。

实验性编程语言第三位: Go

解释程序、虚拟机以及托管代码如今正风靡一时。我们真的需要另一款用于将目标内容编译为本地二进制文件的老式语言吗?来自谷歌工程师团队的小组——由Robert Griesemer以及贝尔实验室的传奇式人物Ken Thompson与Rob Pike共同执掌——给出的答案是肯定的。

Go是一种通用型编程语言,且适用于从应用程序开发到系统编程等各种工作需求。从这种意义上来说,它更接近于C语言或C++,而不是Java或是C#。但与后两者一样,Go中也包含着各类现代化功能,包括垃圾收集、运行时间映象以及对并行性的支持。

同样重要的是,Go在设计上有意降低了编程难度。其基础语法与C语言非常相近,但却消除了多余的语法及样板文件,同时简化了对象定义等常用功能的操作。Go项目小组的目标是打造出了一款像动态脚本语言那样拥有亲切代码的语言,并且能够像编译语言那样提供强大的功能性。

Go尚处于创建过程之中,而且其语言规范也仍可能发生变动。也就是说,我们目前已经可以开始尝试使用了。谷歌已经为其打造了对应的可用工具与编译器,说明文档之类也相当丰富;举例来说,Effective Go教程就是大家了解Go与其它早期语言不同之处的上佳起点。

实验性编程语言第四位: F#

函数型程序设计在计算机科学家以及学术界一直都相当流行,但像Lisp以及Haskell这样的纯函数型语言通常被人们认为无法作用于实际应用中的软件开发工作。对于函数型代码,大家抱怨最多的是它们很难与由C++及Java等命令型语言所写成的代码与库相整合。

说起F#(发音为“F=sharp”),这款微软推出的语言在设计上可谓兼顾了功能性与实用性。由于F#在.Net公共语言运行(简称CLR)中属于一级语言,因此能够访问其它CLR语言的所有同类库及功能,包括C#及Visual Basic等。

F#代码与OCaml多少有些类似,但它同时拥有不少相当有趣的特色语法。例如,F#中的数字型数据可以通过分配获得计量单位,进而为科学类计算服务。F#还为异步式I/O、CPU并行处理以及GPU负载分担等功能提供了必要的理论支持。

在度过了微软研究中心中漫长的酝酿期后,F#现在终于同Visual Studio 2010一同面世了。更妙的是,微软这一次不按常理出牌,将F#编译器与代码库通过Apache开源许可呈现在我们面前;大家不仅能够免费使用这款语言,更可以将其引入Mac及Linux系统(通过Mono运行工具)。

(责任编辑:蒙遗善)

时间: 2024-10-01 21:00:58

十种可能改变IT行业走向的编程语言的相关文章

互联网+时代,看云计算如何改变传统行业

五月的上海,正值春暖花开,绿荫飘香的季节,由驻云科技携手阿里云举办的"互联网+时代,看云计算如何改变传统行业",在上海张江举行. "互联网+"这个概念是最近比较热火的一个词,互联网信息化在国内已经历了二十多年的发展,互联网+所带来的不仅仅是商业模式的互联网化,还会带来大量的数据,会给信息系统带来更高的要求,因此云计算的发展就成了互联网+所必须的技术翅膀,才能更好地推进和改变着传统行业的模式. 互联网+时代传统企业面临的技术挑战 本次沙龙中,客户对云计算的认识和需求比

大数据改变体育行业的10种方式

无论我们谈论足球.赛车还是帆船的体育运动,捕获.存储和分析数据方面的进步正在影响体育行业的方方面面.数据使运动员能够更好.更有效地训练,并可以让团队根据他们所看到的情况来调整其决策.这也改变了广播公司制作体育赛事的方式,以及体育团队和广播公司与球迷的互动方式.下面让我们来看看大数据如何改变体育行业. 可穿戴技术和生物识别技术 比赛日的分析数据不单是视频,传感器也可以提供最新的数据.例如,NFL球员配备的可穿戴传感器可以获取数据来帮助提高球场经验,而培训师也已使用可穿戴设备来监控运动员的表现,并更

高通孟樸:5G技术将会改变很多行业的格局

Qualcomm中国区董事长孟樸 近日,2017年中国电子信息博览会在深圳举行,业内知名无线通信和芯片制造商Qualcomm(以下简称"高通")携未来通信的5G技术方案以及相关产品出席展会.期间,高通中国区董事长孟樸接受媒体采访时表示:5G技术的发展将会改变很多行业的格局,就比如说已经互联网化10多年的零售业和传媒行业,随着5G技术的进步将会进一步发生大的改变:与此同时,5G技术的出现也将促成汽车行业的变革,甚至在未来,人们或者不再自己购买汽车,而是被互联网时代的共享经济模式取代. 随

李善友称酷6网曲线上市将改变视频行业玩法

11月30日午间消息,刚刚与华友宣布股权合并的酷6网CEO李善友做客新浪访谈间,首次对外谈及合并事宜.李善友认为,在视频行业混乱的状况下酷6网能够实现曲线上市,将对整个行业产生冲击,并改变视频行业的玩法. 今年以来视频行业 版权纠纷不断,整个行业呈现出混乱状态.李善友认为,酷6网并没有过多纠缠于其中,而是一直思考用更高层次的想法突围."酷6网事一个跳出来超常规发展的,我们会迅速成为上市公司品牌,拥有大量现金和版权." 在李善友看来,酷6网用"跳到航空母舰方式"的姿态

云计算将改变信息技术行业的整个结构

本文讲的是云计算将改变信息技术行业的整个结构,[IT168 资讯]云计算(Cloud Computing)从最初的概念逐步进入现实的应用,在短短的时间里引起了众人的关注.日前,记者走访了微软公司软件构架设计师薛志明博士,请他解答了有关云计算的问题.薛志明现在的主要工作是为微软公司的客户提供售前服务和技术解决方案. 薛志明认为,过去的蒸汽机.信息工业化和互联网的普及给人类社会带来了巨大的变化.从信息技术的角度看,云计算是工业化的进一步发展,它将有望改变信息技术行业的整体结构.通过使用云计算的服务,

云是高科技行业走向潮头的最后机会

"卷土重来"的田溯宁把目光瞄准了云计算,他认为,云计算将是中国高科技行业走向潮头"最后的机会".在有了做基金的经历之后,田溯宁借助于资本,以产业链条和生态系统的方式介入云计算,并以此整合各方面的资源打造了云基地创新模式. 从北京国贸一直往南行驶20公里进入亦庄开发区的北工大软件园区,一座深灰色大厦与周围的楼群在外表看起来很不一样.相比于其他企业,其不同之处远不止于此,这座大厦由多家公司构成,在这些公司的名称里绝大多数都出现"云"字或"天

易观国际于扬:未被互联网改变的行业仍存巨大机会

"无论你今天做的是哪一个行业,是服务业,是实体的制造业,还是我们所谓的金融服务业,所有的都将被互联网改变,都会进入"互联网+"这样一个方式.今天没有被互联网改变的行业是不对的,这意味着没有被互联网改变的行业是存在着机会的."这是今天召开的2013年易观电子商务盛会上,由易观国际CEO于扬在其主题演讲 "大浪淘商,剩者为王传统与互联网的博弈"上表达的观点. 2013年3月27日-28日,由易观国际主办的2013年易观电子商务盛会在北京富力万丽酒店召

5G技术将改变整个行业 发令枪未响无线运营商抢跑

下一代无线技术已经问世了,它将在未来的十年里创造出巨大的价值.据市场研究公司ABI Research预计,5G无线技术推出后,预计到2025年时将创造出2470亿美元的收入.大部分收入将来自于北美.亚洲和西欧等重要市场. 5G无线技术将改变整个行业,这些5G网络可以提供更快的数据加载速度,扩大无线信号覆盖面积以及降低网络延时. 当然,5G无线技术要想普遍商用还需清除一些障碍.最起码,网络运营商.设备厂商和监管部门尚未就承载5G网络的波长标准达成共识.BusinessInsider旗下研究机构BI

互联网正在改变传统行业,打车软件已经头破血流

诚如李彦宏所说,互联网正在改变传统行业,打车软件已经头破血流,健康医疗与传统医疗行业互不侵犯,而在线教育已经发展了十余年,对传统教育的改变却收效甚微. 然而国内却有越来越多的人投身到在线教育市场,原网易门户事业部总裁李甬离职创办粉笔网,世纪佳缘创始人龚海燕也放弃上市公司CEO的身份创办了91外教网,新浪教育副主编唐晓芸加盟出任作业网总编辑,一时间创业者和资本风起云涌,新项目和模式层出不穷. 从SNS.微博.聊天室到APP,在线教育通过各种互联网手段探索着传统教育行业固守的"章法"以外的