JVM上的新语言:Ceylon

在2011年4月举办的QCon北京大会上,来自Red Hat的Gavin King首次公开了关于Ceylon语言的重量级话题。作为Hibernate的创始人,Gavin广为Java开发者熟知。本次技术大会上透露的Ceylon语言,是Gavin在Red Hat近两年一直投身设计并开发的新一代JVM语言,计划在企业开发领域赶超Java的领导地位。

Ceylon面向企业级应用开发设计,在JVM运行时基础上执行,支持与Java的交互操作。Ceylon语言充分借鉴了Java语言的优势并屏蔽其在设计上的不足,使用静态类型并提供高阶函数支持,在保持代码良好可读性的同时进一步降低开发者入门的难度。

Ceylon语言没有设计特殊的Primitive类型或复合类型,所有类型在类型系统内部都是可表达的。Ceylon的通用类型设计比Java的实现更为简便,而且相比其他类Java语言具备更高的安全性,Ceylon的元编程(Reflection)也必须是类型安全的。此外,Ceylon语言减少了开发者对于配置文件的依赖,屏蔽了Java开发者常常需要对各种XML进行的配置和修改操作。

Java语言的确具备众多适宜于企业开发的优点,包括良好的开放性、适合企业级开发的健壮性等特点。但是其生产效率和过重的负荷却一直令人诟病。作为一门深受Java语言影响的JVM语言,Ceylon由熟知Java语言的专家设计。正是因为Gavin多年的Java开发经验,促使他着手实现这样一个期望能够超越Java的语言。

当然,从头开始创建一门编程语言以及SDK工具包无疑是一项将耗费巨大工作量的任务,但Gavin在Blog上撰文写道:我们在设计开发Ceylon语言的过程中,借鉴了大量Java开源社区中的成果,如Open JDK, JBoss以及Eclipse社区,并且这些工作对于Red Hat这样规模并汇聚众多开发好手的公司来说并非是不可能的任务。

社区支持对于Ceylon语言的发展是必不可少的,然而,要想获得社区的认可与追随,Ceylon语言本身能够提供一个设计优良的杀手级开发框架将是个巨大的激励因素,就像Ruby语言的Rails框架或Scala语言的Lift框架那样在众多项目中得到成功应用。为此,Gavin撰写了一系列Ceylon语言的介绍性文章,来帮助社区开发者进一步了解并掌握语言的使用。

此外,IDE环境对于开发语言的普及具有很大的推动作用,如被不少Java开发者所推崇的Scala语言,则同时拥有基于Eclipse的IDE工具、基于IntelliJ IDEA的开发环境,以及NetBeans的Scala开发插件。目前,Ceylon语言也同样需要一个令人满意的IDE工具,来增强语言的适用性。

作为Hibernate的创始人,EJB3.0专家委员会成员,JBoss Seam的开发者,Gavin King已经取得了令开发者瞩目的成绩,运行在JVM之上的新一代编程语言Ceylon能否真正赶超Java,造就另一个辉煌,让我们拭目以待。

本文曾发表于《程序员》杂志-2011年05期“程序天下事”栏目。