写点什么

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

  • 2012-01-18
  • 本文字数:1022 字

    阅读完需:约 3 分钟

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

2012-01-18 09:041923
用户头像

发布了 151 篇内容, 共 68.2 次阅读, 收获喜欢 18 次。

关注

评论

发布
暂无评论
发现更多内容

Elasticsearch从入门到放弃:再聊搜索

Jackey

elasticsearch

没内鬼,来点干货!SQL优化和诊断

Kerwin

MySQL

Hello!GitHub 好用好玩值得收藏的开源项目集合~

Kerwin

开源

疫情年逆风翻盘

Kerwin

程序员

Java8——方法引用

Java旅途

java8 方法引用

秒懂云通信:通信圈黑话大盘点

阿里云Edge Plus

云通信 通信云

【计算机网络】你需要知道的链路层知识

烫烫烫个喵啊

计算机网络 链路层 交换机

SpringBoot代码生成器

Kerwin

Java 开源

Mybatis执行流程浅析(附深度文章推荐&面试题集锦)

Kerwin

Java mybatis

程序员的时间管理

Kerwin

程序员

前端杂记-&&和||

阡陌r

JavaScript && ||

week6 总结

不在调上

没内鬼,来点干货!volatile和synchronized

Kerwin

Java volatile synchronized

6 个珍藏已久 IDEA 小技巧,这一波全部分享给你!

楼下小黑哥

Java IDEA

一张PDF了解JDK10 GC调优秘籍-附PDF下载

程序那些事

Java jdk JVM GC JDK10

5万字、97 张图总结操作系统核心知识点

苹果看辽宁体育

操作系统 计算机

6种快速统计代码执行时间的方法,真香!

王磊

Java

设计模式总篇:从为什么需要原则到实际落地(附知识图谱)

Kerwin

Java 设计模式

日记一则

progyoung

关于如何判断一个list是否为空的思考

Leetao

Python Python基础知识 列表

Docker网络学习第二篇-认识iptables

Lazy

Docker Linux 网络

30岁+程序员职场攻略:找到自己的“职业锚”乘风破浪

华为云开发者联盟

程序员 AI 开发者 职场

ARTS - Week 5

Khirye

ARTS 打卡计划

因为 Django ORM update,我今天差点「从删库到跑路」

AlwaysBeta

数据库 django 编程 程序员

纯CSS实现自定义单选框和复选框

爱嘤嘤嘤斯坦

CSS Java 编程语言 标签

开发框架文档体系化的思考

vivo互联网技术

框架开发

redis系列之——一致性hash算法

诸葛小猿

redis 一致性hash redis集群

nginx在重定向时端口出错的问题

烫烫烫个喵啊

nginx

简述 CAP 原理

不在调上

当我们在谈架构时,我们谈的是什么?

冯文辉

架构 企业架构 系统架构

Docker网络学习第一篇:Linux虚拟网络

Lazy

Docker Linux 网络

Ceylon和Ceylon IDE都发布第一个里程碑了_Java_Alex Blewitt_InfoQ精选文章