Ceylon是Gavin King(Hibernate和Seam创始人)的作品,这是一个可运行于Java和JavaScript虚拟机的、高可读的、模块化的、面向对象的静态类型编程语言,其融合了Java、C、Smalltalk以及函数式语言的特性,试图解决Java语言中的一些问题。
Gavin King近日发布了Ceylon 1.0正式版本,这意味着其语言规范、编译器和IDE都到达了可用于生产的阶段。
Ceylon的语言特性
Ceylon语言的主要特点如下:
- 高可读性,极力避免和消除潜在的有害架构
- 包括一个强大的类型系统,结合了子类型、参数化多态性和声明位置变量,包括集和交集类型,并使用主要类型用于局部类型推断和依赖流(flow)的类型归类
- 独特的函数和元组类型,以实现强大的抽象
- 用于模块定义和模块间依赖定义的先进的架构
- 非常灵活的语法,支持类似于树形的结构表达方式
- 完全具体化的泛型类型,支持JVM和JavaScript虚拟机,还包括一个独特的、类型安全的元模型
Ceylon语言包及工具
此次发布的1.0版本中包括:
- 一个完整的语言规范,定义了Ceylon的语法和语义,便于开发者学习
- 一个命令行工具集,包括针对Java和JavaScript的编译器、文档编译器、支持在JVM和Node.js上执行模块化程序
- 一个功能强大的模块架构,可用于组织代码、管理依赖、在运行过程中隔离模块等
- 语言模块,这是Ceylon语言的重要组成部分,是Ceylon SDK跨平台的基础
- 一个全功能的、基于Eclipse的集成开发环境
Ceylon的目标
像其他JVM语言一样,Ceylon也被誉为“Java的替代者”,对此,Gavin King表示:
Ceylon不是Java,它是深受Java影响的一种新语言,它的设计者是Java的坚定支持者。Java不会很快消亡,没有哪种语言能够取代它。
avin King表示,开发Ceylon的初衷是为了扩展Java,而不是取代Java,Gavin认为Java中有许多问题,包括泛型等特性的复杂性、设计粗糙且晦涩难懂的JDK、粗劣的注解语法、不完善的块结构、对XML的依赖性等等,因此他希望开发一种新型语言来解决这些问题。
一些示例代码
Ceylon的Hello World代码:
void hello() {
writeLine( “Hello World.” );
}
一个简单的函数:
function distance(Point from, Point to) {
return ((from.x-to.x)^2 + (from.y-to.y)^2)^0.5;
}
一个简单的类:
class Counter(Integer initialValue=0) {
variable value count = initialValue;
shared Integer currentValue {
return count;
}
shared void increment() {
count++;
}
}
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
AWS MEAN堆栈+JavaScript=快速搭建应用
开发人员在构建Web应用时有许多选择。市面上有无数的框架和语言可选,而像AWS这样的云平台可以方便地部署和扩展应用程序。
-
内存数据网格提供商一头扎进Java
10年的时间里,应用性能解决方案提供商Alachisoft一直在用NCache(针对N-Tier和网格计算.NET应用的内存计算和数据网格产品)为.NET社区服务。
-
遇到这样一个问题:通过java service wrapper部署应用,wrapper进程占用的内存会一直升高, 直到把内存吃完应用崩溃,但是这个wrapper
遇到这样一个问题:通过java service wrapper部署应用,wrapper进程占用的内存会一直升高 […]
-
Google App Engine for Java 对于目前中国需要学习吗?