写点什么

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:041543
用户头像

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

关注

评论

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

数十家技术社区联名推荐的GeekOnline来了!

Geek_116789

朱嘉明:区块链成为经济转型、形成产业新业态的技术手段

CECBC

第六周作业

腾志文(清样)

解决问题 1474 个,Flink 1.11 究竟有哪些易用性上的改善?

Apache Flink

flink

Flask-Restful 中 fileds.DateTime 不支持 strftime 格式

Leetao

Python flask web开发 Python框架 flask-restful

单例模式的几种写法你用的哪种?

Java小咖秀

Java 设计模式 23种设计模式

以中立性的立场看Severless的目标和流派

韩超

云原生 serverles

林左鸣 史瑞华:人类应鼎力进行的探索

CECBC

可读代码编写炸鸡六 - 控制流尽量向前奔涌就好,不要分心

多选参数

代码 代码优化 代码规范 可读代码编写 可读代码

Week 06 命题作业

Jeremy

Week 06学习总结

Jeremy

计算机揭秘之:网络分类和性能分析

程序那些事

TCP 计算机网络 网络协议 计算机基础 udp

可读代码编写炸鸡七 - 表达式太长就拆

多选参数

代码质量 代码组织 代码规范 可读代码编写 可读代码

【API进阶之路】老板给我涨薪30%!如何通过SDK接口搞定千万级流量直播

华为云开发者联盟

运维 服务器 直播 云服务 华为云

防止数据重复提交的6种方法(超简单)!

王磊

Java

如何帮助技术员工高效成长?这几家企业的做法值得借鉴

极客时间企业版

研发管理 研发团队培训

《北京市政务服务领域区块链应用创新蓝皮书(第一版)》正式发布

CECBC

MQTT的搭建、测试、应用及小程序的集成!

诸葛小猿

物联网 IoT mqtt broker

企业架构框架之TOGAF

冯文辉

企业架构

如何进行需求梳理及埋点方案设计

易观大数据

区块链加持的家用摄像头能拯救你的隐私吗?

CECBC

Python的四种作用域及调用顺序

BigYoung

Python 局部作用域 全局作用域

我想模糊删除redis key🤔

山中兰花草

Java lua redis 面试 批量任务

聊聊Dubbo(二):简单入门

猿灯塔

毕业半年的憨憨,将公司的代码上传到GitHub上了

诸葛小猿

GitHub 代码上传

寻找握剑的手,青睐懂行的人

脑极体

LeetCode题解:141. 环形链表,JavaScript HashMap,详细注释

Lee Chen

大前端 LeetCode

第六周总结

腾志文(清样)

图解:如何实现最小生成树

淡蓝色

Java 数据结构 算法

CAP原理

jason

平价又好用的学习电脑小轩PRO来啦,为孩子创造超强学习体验

最新动态

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