Ceylon 项目的领导者 Gavin King 宣布 Ceylon 已经发布了M6 版,该版本也被打上了 Ceylon 1.0 Beta 的标签,语言的特性已经完备了。这次发布中包含完整的 语言规范,命令行工具集(JVM 和JavaScript VM 的编译器、文档编译器)、 SDK 和基于 Eclipse 的 IDE .
除了修订 bug,这一版本中还对语言做了下面这些增强:
-
注解和注解限定
-
类型安全的元模型
-
“static” 方法和属性引用
-
能实现资源管理的 try``从句
-
在
switch``中支持字符串、整型和字符
-
支持字符串和字符字面值中的命名 Unicode 字符
-
扩展的乘法操作符
**
-
非空的变元参数
-
为调用被继承的接口中实际成员而改进的语法
对 IDE 的改进有:
-
支持在模块运行时上启动 Ceylon 程序
-
集成了 Eclipse 内置的文件和包重构
-
内联"linked-mode" 重命名,并且重命名还支持在文档中引用的字符串
-
对输入自动完成做了改进,包括"linked-mode"参数的自动补充
-
改善了和 Eclipse 合并视图的集成
-
整合了命令行工具集配置文件的格式
-
新的快速修订和辅助
Ceylon 语言及其相关工具的开发工作已经进行了 3 年多了,目前还不清楚 GA 版本会在什么时候发布,但很可能是在 2014 年的第一或第二季度。按照项目的路线图,Ceylon 1.0 的工作已经开始,但到目前为止,只完成了167 个开放问题中的7%。除了bug 修正,Ceylon 团队还希望增加串行化、存储复制器和一些模块: ceylon.transaction
——支持分布式事务处理 -、ceylon.local
—— 支持本地化、ceylon.format
—— 数字和 date.time 文本的格式化。
按King 的说法,做Ceylon 是因为想要有种语言能缓解使用Java 所累积下来的挫折感, Java 在某些方面过于复杂,而又没能及时添加那些大受欢迎的新特性:跟XML 结合得太紧密了、缺乏语言层面的模块化能力、缺乏一等或高阶函数,并且存在“每天都在烦我们”的语言错误,比如getters/setters、数组和原始类型、“危险”的synchronized 关键字、繁琐的构造器语法等等。 Ceylon 试图解决这些问题,它最初是以JVM 为目标的,但随着语言的发展又增加了对JavaScript VM 的支持,所以Ceylon 代码既能运行在浏览器中,也能运行在Node.js 环境里。Ceylon 的语法类似于C、Java 和C#,语言本身就是要简洁。但跟最近出现的其它语言,比如Google Go 和Dart 一样,能否成功完全取决于它的采用率。
原文链接: Ceylon Is Feature Complete
感谢侯伯薇对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。
评论