Vala,Java的远亲还是近邻

【经典译文】大卫·梅吉森(Dave Megginson)***写了一篇文章:Java已死。(许多使用Java的XML程序员应该很熟悉,他推动了SAX API的开发)。

创新互联公司是一家集网站建设,镇巴企业网站建设,镇巴品牌网站建设,网站定制,镇巴网站建设报价,网络营销,网络优化,镇巴网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

作为一种编程语言(而不是平台),Java与众不同,这应归因于Sun公司拒绝通过声誉良好的独立标准组织将其标准化(虽然做了很多努力,一次试图让Java通过ECMA,一次是ISO,但Sun公司都最终退出,并推出让人非常不满的JCP体系,既Java Community Process)。Sun缺少对Java作出巨大改动的能力和意愿(某些方式与其意愿不符),Java不得不面对两个主要的对手(微软的J++以及后来的C#,还有IBM的SWT),这两个对于主要的组件(图形库)提出了异议。Java成于中间件,但却失败于未能利用桌面浏览器的崛起之势:他们的HTML解析器在上世纪九十年代非常出色,但被有意地忽视,而至于无用之地。对此,很难不将其视为Sun公司有意为之:将浏览器市场留给它的对手和合作者。我的确曾非常喜欢Java,在某种意义上,甚至拿我的公司作为赌注压在Java上:今天我绝不会再这样做。

推荐专题:走向混合编程时代

对于桌面领域(我明白所有人都知道,在万维网时代和即将来临的iPad+Android时代,这一领域已是万劫不复地死去),同类语言有什么替代者?我把时间花在什么样的XML处理方式上?我一直留意较多的是Scala:它集成到JVM中,具有类似的基于C语言的语法,并且能够将类Java程序升级为拥有更多函数的DSL程序。然而,我还有三点疑虑。***,存在很多种函数式编程,它们使用了XSLT,对于XML处理,XSLT比Scala具有更好的优化性。第二,使用JVM让Scala处于不利地位,可能引起Oracle的诉讼(或许这种情况只是杞人忧天?)。第三,许多Scala的资料都写得比较学术化,或者是由偏门语言的拥护者编写。(不管是谁,在讨论某项技术的优势时,如果使用了monad这种专业术语,自我看来,其流行程度就会直线跳水。)

推荐专题:Scala编程语言

另一个竞争者是Vala,不过没有上述三种问题。某种程度上,这是一种真正的回归,回到上世纪八十年代:基于C的对象语言,但又被赋予了C++的强大和Java的成功。下面是Vala网站上的宣传介绍:

Vala是一种新的编程语言,其目标是为GNOME开发者提供现代化的编程语言功能,同时没有额外的运行时要求,并且相对于C语言编写的应用程序和库,无需使用不同的ABI。

Vala是基于GNOME的GObject系统,提供了那种你期望的类功能。与Scala一样,在语言级别上,它具有与Java Beans的get*()和set*()等同的属性,但是,对于属性更改通知和监听器(listener),它也能够提供了语言级别上的支持。它不具备很强的XML处理能力,只是一个迷你型的解析器,不过看起来它的确具有很好的Unicode功能(字符串为UTF-8,string.getch()可返回16位的unichar字符。)在功能级别上,Vala与Java***的不同之处应该是对象回收(de-allocation)的引用计数系统(reference-counting),相对于Java的GC,这一系统能够提供更多确定的实时行为,不过也为某些编程错误打开了一扇窗户。在这个时代,Vala的另一个古怪之处在于,对于阵列访问不进行边界检查,所以它比Java对规则的要求更为严格(不过可以推测,比C语言要宽松很多)。

我很期待有人对Vala产生兴趣,比如有人在考虑编写新的C或C++应用程序,或者使用C、C++、C#或者不断抱怨不满的Java程序员,想要拜托大企业的控制,同时在其背后有一个经过证实的(保持操作系统中立?)强大平台,这样的人能够去使用Vala。我想,与Scala一样,在大型项目上使用之前,你当然想要检查一下是否具有适当的IDE支持。

在服务器端,Google公司推出的Go编程语言是很有前途的:它更少面向对象,但同时具有C语言领域内的效率。他们的宣传介绍如下:

快速……并行……安全……有趣……开源

Go语言为功能强大的gorountines提供另一个关键字go,可封装各种fibre/线程/进程/多核类型的并行计算。

我很想看到Go和Vala联姻生子,带来一种更可爱的语言。我认为Vala和Scala还没有很好地发挥多核CPU的优势。

原文名称:Vale Java? Scala Vala palava and Go too

原文地址:http://broadcast.oreilly.com/2010/08/vale-java-scala-vala-palava.html

[[14971]]

原文作者:Rick Jelliffe

【译稿,非经授权谢绝转载,合作媒体转载请注明原文出处、作者及译稿和译者!】

【编辑推荐】

  1. “Scala” 一个有趣的语言
  2. 编程思想碰撞 Scala不是改良的Java
  3. 1月编程榜发布:Google Go意外夺得年度编程语言
  4. Google Go语言的快乐编程因素  
  5. 再论Java已死 基于JVM的语言已成Java***威胁

当前标题:Vala,Java的远亲还是近邻
URL分享:http://www.shufengxianlan.com/qtweb/news9/127009.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联