Ceylon 和 Ceylon IDE 都发布第一个里程碑了

阅读数:51 2012 年 1 月 18 日

话题:Java编程语言JVM语言 & 开发

Ceylon IDE在上周二发布了第一个里程碑,为去年十二月底发布了M1的 Ceylon 语言提供了 IDE。

Ceylon 是一种基于 JVM 的新语言,主要由 Red Hat 赞助、Gavin King 牵头,Gavin King 是著名 Java 持久层框架 Hibernate 的创始人。Ceylon 在去年四月召开的QCon Beijing上发布,要想进一步了解当时公布的 Ceylon 语言特性细节,请观看InfoQ 对 Gavin 的采访

Ceylon M1 附带发布了编译器,Ceylon 语言现在有官方规范。Ceylon 代码可以编译成字节码、在 JVM 上执行。Ceylon 的路线图全面概述了 Ceylon 第一个版本要支持的内容,其中 M2 的目标是支持 Java 互操作性。

和许多其他基于 JVM 的语言不同,Ceylon 的目标是在缺省情况下保持不变性。如果需要进行变量赋值,那就需要用 variable 关键字来表明值可能会变;另外,为变量赋值要使用:=,以便和值赋值使用的 = 区别开来。这样做的目的是更加清晰地突出可变变量和不变变量之间的区别。关键字都是词语,而不是符号,以免混淆语言的这些新内容。不过 Ceylon 用 satisfies 替代了 implements。

和 Scala 一样,Ceylon 提供了一种 Option 类型(也叫做 Maybe 类型),允许可以为空的类型值。这种类型可以用简写 T? 表示;T 类型则表示包含的值不会为空。(这有助于用类型检查器去保证值不为空;Java 里空引用的问题已经用 @NotNullable 和 @Nullable 注解去解决了。对于 Null 的引入,Tony Hoare 曾把它描述为价值十亿美元的错误)。

如今,任何新语言都有相应的 IDE 去完成开发。就像最近发布的Scala IDE,Ceylon 现在也有了 Eclipse 插件形式的Ceylon IDE。它有一个内置的编译器,尽管用 Eclipse 编译的代码也能在独立的 Ceylon 编译器 / 运行时环境里运行(反之亦然)。

完整的功能列表可以去IDE 的文档页面查看,里面有一个贴了很多截图的独立页面。IDE 既可以运行 Ceylon 代码,也可以调试,而不用安装其他工具链。IDE 支持很多标准特性(比如 TODO 和大纲视图),也支持 Ceylon 特有的功能(比如 Ceylon 特定的重构和快速修复)。

由于 Ceylon IDE 是基于 Eclipse 的插件,所以现有的开发者工具链都能使用 EGit 和 Subclipse/Subversive 等已有工具的 Hook。尽管可以用 Ceylon 工具集编译代码,但 Ant、Maven 等现有构建系统的插件目前还不可用。

最后,GitHub 里 Ceylon 项目的代码已经可用了,你也可以从下载页面直接下载。

Ceylon 和 Ceylon IDE 现在都发布了,你怎么看待这种语言和它的工具呢?

查看英文原文:First Milestone of Ceylon and Ceylon IDE