写点什么

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

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

关注

评论

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

李彦宏文心一言发布会 highlight

B Impact

Capital

Echo_Wish

学习 进步 笔记 资源 本质

vivo 短视频用户访问体验优化实践

vivo互联网技术

CDN HTTP 优化 DNS 实践

DevData Talks 直播预告 | 微众银行的研发效能实践有哪些经验?

思码逸研发效能

研发效能 DevData Talks

使用价值三角方法来全方位分析产品

产品海豚湾

产品 产品经理 产品设计 产品运营 商业洞察

如何应用BI系统运营提效,一起看看瓴羊Quick BI的表现

对不起该用户已成仙‖

Nacos心跳机制实现快速上下线

Java Spring Cloud nacos 心跳机制

软件测试/测试开发丨学习Docker就应该掌握的dockerfile语法与指令

测试人

Docker 软件测试 测试开发

两会代表热议采用ChatGPT指导论文写作:防范抄袭的探索与思考

GPU算力

人工智能 深度学习 ChatGPT

GPT-4炸圈--多模态大模型

江湖修行

人工智能 大模型 GPT ChatGPT GPT-4

openGemini正式加入openEuler DB SIG,携手开展全方面技术创新

华为云开源

时序数据库

NodeJS 实战系列:模块设计与文件分类

光毅

JavaScript node.js

在 windows 上连接 wsl 和直接打开 ubantu 有什么区别?

玄兴梦影

wsl window

深圳.NET线下技术沙龙倒计时一天

MASA技术团队

.net MASA

Go语言实现策略模式

蓬蒿

策略模式

Toast的基本使用

芯动大师

android Adapter toast

内部开发者门户是什么?

SEAL安全

微服务 企业号 3 月 PK 榜 内部开发者门户 信息碎片化

聊聊「订单」业务的设计与实现

Java 架构 订单管理 订单系统 订单

2 万字长文:声明式配置技术概述

Peefy

DevOps 编程语言 开发者工具 #Kubernetes# #开源

想到哪说到哪的AI

FN0

AIGC

MongoDB源码学习:执行创建Collection命令

云里有只猫

mongodb 源码解析

PyTorch深度学习实战 | 基于ResNet的人脸关键点检测

TiAmo

深度学习 人脸识别 PyTorch

TCP 三次握手,给我长脸了噢

程序员小富

TCP

设计模式-策略模式

蓬蒿

设计模式 策略模式

如何测试一个AI系统?

陈磊@Criss

AI 测试

Next.js 实践:从 SSR 到 CSR 的优雅降级

Crazy Urus

React nextjs SSR

如何快速理解网络IO模型

Dinfan

Netty 事件循环 IO模型 Reactor多线程 网络io模型

干货 | BitSail Connector开发详解系列一:Source

字节跳动数据平台

开源 数据集成 数据引擎 企业号 3 月 PK 榜

在追求卓越的路上,面对压力时,推荐你这二个做法。

叶小鍵

百度生成式AI产品文心一言邀请测试,五大场景、五大能力革新生产力工具

飞桨PaddlePaddle

百度 飞桨 文心一言

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