Ceylon 整装待发

阅读数:1029 2013 年 9 月 30 日

话题:JavaScriptJVM语言 & 开发架构

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)关注我们,并与我们的编辑和其他读者朋友交流。