Ceylon是Gavin King(Hibernate和Seam创始人)的作品,这是一个可运行于Java和JavaScript虚拟机的、高可读的、模块化的、面向对象的静态类型编程语言,其融合了Java、C、Smalltalk以及函数式语言的特性,试图解决Java语言中的一些问题。
Gavin King近日发布了Ceylon 1.0正式版本,这意味着其语言规范、编译器和IDE都到达了生产标准。
Ceylon的语言特性
Ceylon语言的主要特点如下:
- 高度可读性,极力避免和消除潜在的有害架构
- 一个强大的类型系统,结合了子类型、参数化多态性和声明位置变量,包括集和交集类型,并使用主要类型用于局部类型推断和依赖流(flow)的类型归类。
- 独特的函数和元组类型,可以实现强大的抽象
- 针对模块定义和模块间依赖定义的先进的架构
- 一个非常灵活的语法,支持类似于树形的结构表达方式
- 完全具体化的泛型类型,支持JVM和JavaScript虚拟机,还包括一个独特的类型安全的元模型。
详细语言特性:http://ceylon-lang.org/features
Ceylon语言包及工具
此次发布的1.0版本中包括:
- 一个完整的语言规范,定义了Ceylon的语法和语义,便于开发者学习
- 一个命令行工具集,包括针对Java和JavaScript的编译器、文档编译器、支持在JVM和Node.js上执行模块化程序
- 一个功能强大的模块架构,可用于组织代码、管理依赖、在运行时隔离模块
- 语言模块,这是Ceylon语言的重要组成部分,是Ceylon SDK跨平台的基础
- 一个全功能的基于Eclipse的集成开发环境
发布日志:http://ceylon-lang.org/blog/2013/11/12/ceylon-1/
Ceylon的目标
像其他JVM语言一样,Ceylon也被誉为“Java的替代者”,对此,Gavin King表示:
引用
Ceylon不是Java,它是深受Java影响的一种新语言,它的设计者是Java的坚定支持者。Java不会很快消亡,没有哪种语言能够取代它。
Gavin King表示,开发Ceylon的初衷是为了扩展Java,而不是取代Java,Gavin认为Java中有许多问题,包括泛型等特性的复杂性、设计粗糙且晦涩难懂的JDK、粗劣的注解语法、不完善的块结构、对XML的依赖性等等,因此他希望开发一种新型语言来解决这些问题。
一些示例代码
Ceylon的Hello World代码:
- void hello() {
- writeLine( "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;
- }
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++;
- }
- }
class Counter(Integer initialValue=0) { variable value count = initialValue; shared Integer currentValue { return count; } shared void increment() { count++; } }
官方网站:http://ceylon-lang.org/
Github地址:https://github.com/ceylon
相关推荐
java ee登陆页面源码Ceylon 和 Java EE 的 DDDSample 这个项目是这个项目在锡兰的重写。 使用的 Java EE 技术包括 JPA、CDI、EJB、JAX-RS、JMS、WebSocket、JSF 和 Facelets。 要求 该项目需要和 . 编译和组装 在本...
Ceylon语言是一种现代化的、...对于那些寻求替代Java或希望在JVM平台上尝试新语言的企业,Ceylon是一个值得考虑的选择。通过学习和使用Ceylon,开发者可以利用其独特的特性和工具来构建高效、可靠的企业级应用程序。
我对 Ceylon 很感兴趣,我正在试验它的 JS 互操作功能,我正在寻找一个有趣的小项目来了解更多信息。 我听说了 Three.js 库,并对在线示例感到惊讶。 鉴于我是 3D 的绝对初学者,这也是学习更多的机会。 为什么是...
Jython是Python语言的一个实现,它运行在JVM上,允许开发者使用Python语法编写程序,同时利用Java的库和框架。Jython适合那些喜欢Python语法但需要与Java生态系统交互的开发者。 6. **JRuby** JRuby是Ruby语言的...
在Java和Ceylon编程语言中,对象的构造和验证是创建安全、健壮代码的关键步骤。本文将深入探讨这两个语言中如何处理对象的初始化和验证,以及如何避免潜在的问题。 首先,让我们分析Java中的问题。在给出的Java代码...
锡兰.build 基于锡兰任务的构建系统。... 在新流程中启动命令的任务锡兰任务: 编译,运行,测试,记录锡兰模块的任务文件任务: 复制/删除文件和目录的任务用法创建一个构建模块。 构建模块是标准的锡兰模
这个项目原本是为Android平台提供Ceylon编程语言的编译器支持。Ceylon是一种现代化的、静态类型的、面向对象的编程语言,设计目的是提高代码的可读性和可维护性。 在Android开发中,通常我们使用Java或Kotlin作为...
用于测试 CDI/Weld 与 Ceylon 的应用程序跑步: cd helloworld && ant -Dceylon.home=/path/to/ceylon/dist && cd - && ant
锡兰模式 用于编辑代码的主要模式。 当前状态 我认为该模式有效,足以用于一般用途。 当我有时间进行开发时,我... 代码格式化功能需要使用ceylon format插件,该插件通常与Ceylon发行版捆绑在一起。 用法 该软件包会
该存储库包括主要的ceylon.markdown模块,其随附的测试套件以及两个生成部分代码的实用程序模块。 用法 与commonmark.js类似,解析和渲染是在单独的步骤中执行的: value root = Parser (). parse ( "## Hello ...
Java自1995年诞生以来,经历了多次重大版本更新,从最初的1.0到2014年的Java 8,再到2017年的Java 9,其发展历程反映了编程语言的不断进化和适应市场需求的能力。TIOBE指数,作为衡量编程语言流行度的重要指标,显示...
使用 Java 实现的锡兰本地人这只是一个小项目,为了展示提交和 ,可以: 定义 Ceylon 本机顶级类或函数头, 直接用Java编写它的实现, 并将Java 实现视为与 Ceylon 本机标头声明相关联的jvm 后端本机声明。...
然后生成一个war文件: ceylon war servlet.example 或者 ceylon war jaxrs.example 运行ceylon help war以获取完整的选项列表。 生成的 WAR 文件在 WildFly 8.1.0.Final 和 9.0.0.Alpha1 中都可以使用,servlet...
综上所述,Ceylon News 是一个结合了多语言支持、新闻聚合、本地化存储和用户友好界面的开源项目,背后涉及到了一系列的软件开发技术和最佳实践。通过参与开源社区,用户和开发者都能从中受益,共同推动这款新闻阅读...
拉合尔网络框架 多站点和支持插件的 Web 框架 受到 Play、Drupal、Shopify Liquid 等优秀开源项目的启发。...启动一个新的命令行窗口(或 shell)并输入ceylon --version 。 你应该看到一些输出 选择
总的来说,NetCeylonBeans插件是NetBeans IDE的一个强大扩展,它使得Java开发者可以轻松地在熟悉的环境中使用Ceylon语言进行开发,享受高效和优雅的编程体验。对于想要涉足Ceylon或希望在NetBeans中增强对Ceylon支持...
Ceylon This is the 1.3.4-SNAPSHOT "You'll Thank Me Later" release of the Ceylon command line tools. This is a production version of the platform. Ceylon is a modern, modular, statically typed ...
#ConcurrenCey ConcurrenCey是一个Ceylon库,可以轻松编写并发的多线程代码。 目前正在积极开发中。 如果您想贡献一点,请与我联系! 并发提供了低级和高级的并发构造,因此您可以选择在代码中使用哪种样式。入门您...
java6string源码Kotlin 基础知识 Kotlin 语言的学习基础 我在学习 JetBrains 的 Hadi ...是多语言环境:Scala、Ceylon、Clojure、Frege、Kotlin、Java,都编译成字节码 Kotlin 源代码 Customer.kt 中的
最低要求:Java 7 和 Maven 3.0.5 插件位于 Maven 中央存储库中。 在jar项目的pom.xml中使用带有以下代码段的插件 ... ... < groupId>com.dgwave.car</ groupId> < artifactId>ceylon-maven-plugin...