Ceylon

JVM 上的新语言
授权协议 Apache-2.0
开发语言 Java
所属分类 程序开发、 脚本编程语言
软件类型 开源软件
地区 不详
投 递 者 滕弘新
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Ceylon面向企业级应用开发设计,在JVM运行时基础上执行,支持与Java的交互操作。Ceylon语言充分借鉴了Java语言的优势并屏蔽其在设计上的不足,使用静态类型并提供高阶函数支持,在保持代码良好可读性的同时进一步降低开发者入门的难度。

Ceylon语言没有设计特殊的Primitive类型或复合类型,所有类型在类型系统内部都是可表达的。Ceylon的通用类型设计比Java的 实现更为简便,而且相比其他类Java语言具备更高的安全性,Ceylon的元编程(Reflection)也必须是类型安全的。此外,Ceylon语言 减少了开发者对于配置文件的依赖,屏蔽了Java开发者常常需要对各种XML进行的配置和修改操作。

示例代码:

doc "The classic Hello World program"
by "Gavin"
see (goodbye)
throws (IOException)
void hello() {
    print("Hello, World!");
}

Ceylon 的开发工具:Ceylon IDE

  • 计算机科学的道路上布满了什么将成为“下一个大事件”这样的躯壳。尽管许多的小生境语言确实在脚本或是特定应 用中找到了一些用武之地,但C(及其衍生工具)和Java语言是难以被取代的。不过Red Hat的Ceylon似乎是一些语言功能的一个很有意思的组合,其使用了大家熟知的C风格的语法,但是除了强调简洁之外,其还提供面向对象和一些很有用的 函数方面的支持。研究一下Ceylon,看看这一未来的VM语言是否

  • 借助锡兰,我们将尽最大努力使每个开发人员的生活更加轻松。 我们使用出色的语言, 强大的IDE , 出色的在线模块存储库以及出色的命令行界面(CLI)来做到这一点。 我们的命令行围绕可发现性的思想构建,在这里您将获得一个名为ceylon可执行文件以及许多可通过--help或--help完成的子命令。 我们有许多预定义的子命令 ,但是每隔一段时间,我们就希望能够编写新的子命令。 例如,我希望能够在单个

  • 8月21号,由Red Hat创建的Java和JavaScript虚拟机语言Ceylon正式加入Eclipse基金,成为Eclipse Ceylon。如官方所述,此举是为了让Ceylon与Red Hat这个品牌撇清关系,将Ceylon打造成与厂商无关的语言,从而吸引更多的协作者。这种情况在业界也并非头一举,之前的Eclipse MicroProfile就经历了相似的过程。\\ InfoQ采访了Cey

  • Ceylon 1.1 已经开发6个月了,是时候给大家交待一下开发的进度了。这在 6 个月内我们处理并关闭了超过 650 个 issue,关于编译器和语言模块方面,其中 IDE 方面的问题有 300 个。 目前 Ceylon 1.1 优先级最高的是: 语言模块 API 的最终确认 清理和最小化使用 Java 和 JavaScript 代码 处理影响 Java 互操作的遗留问题 性能提升 IDE 构建

  • Ceylon是一种新兴的计算机编程语言,号称“Java杀手”,它不是Java,而是一种受Java影响的新语言。适用于大众的、面向对象的函数式编程。 Ceylon是一种静态类型语言,所有类型在类型系统内部都必须是可表达的(没有特殊的 primitive类型或者复合类型);Ceylon的通用类型系统要比Java的更简单,而且相比于其他类Java语言,它的安全性更高;甚至元编程(reflection)也

 相关资料
  • 问题内容: 我正在尝试在Go中执行MERGE语句: 但是我得到了这个错误: 在MySQL中也是如此: 怎么了? 问题答案: 不支持,等效的是 插入…在重复的密钥更新上 尝试这个, 但请确保将其设置为或。

  • 问题内容: 在弄乱Eclipse中的自定义格式设置选项的同时,在示例代码之一中,我看到了如下代码: 我从未见过像这样使用过,并且我从事Java编程已有9年了!有谁知道你为什么要这么做?这样做的可能用例/好处是什么? 我看到的另一段代码,我认为这是一个非常有用的速记,因此我也在这里共享了它,它的作用很明显: 问题答案: 它是在Java 7中添加的。它称为try-with- resources 语句。

  • 问题内容: 我有一个在MySQL中运行良好的查询,但是在Oracle上运行该查询时,出现以下错误: SQL错误:ORA-00933:SQL命令未正确终止 00933。00000-“ SQL命令未正确终止” 查询是: 问题答案: 该语法在Oracle中无效。你可以这样做: 或者您 可以 执行以下操作: 它取决于内联视图是否被Oracle更新( 要更新第二条语句取决于 此处 列出的一些规则 )。

  • 问题内容: 我有两个看起来像这样的桌子 培养 订座 当前,我正在尝试创建一个查询,如果取消预订,该查询将增加火车的容量。我知道我必须执行Join,但是我不确定如何在Update语句中执行。例如,我知道如何使用给定的ReservationID来获取火车的容量,如下所示: 但我想构造执行此操作的查询- 如果可能的话,我想知道如何增加任意数量的席位。顺便说一句,我计划在Java事务中执行增量后删除保留。

  • 问题内容: 我有2个表格,Products和ShoppingCart,我想根据ShoppingCart中指定的产品名称和数量来更新和减少Products表中产品的“数量”。我怎样才能做到这一点? 表:产品字段:产品名称,产品数量 表:购物车字段:ProductName,ProductQty 访问数据库 问题答案: 您应该有一个产品ID。然而: 您还应该在字段和表名中删除空格。

  • 问题内容: 我的sql语句出了什么问题,它说问题在FULL JOIN附近,但是我很困惑: 请温柔些,因为我不是sql Fundi 问题答案: MySQL不提供完全连接,您可以使用 一对LEFT + RIGHT和UNION;或者 使用LEFT,RIGHT和INNER和UNION ALL的三元组 该查询也非常错误,因为您有GROUP BY,但是SELECT列不是聚合的。 将其正确转换为LEFT + R

  • 我目前正在从事一个Android AppEngine项目,使用语音作为主要输入方法。在android上,您可以使用语音包将语音命令转换为纯文本。语音识别不是在设备本身上完成的,而是发送到一个谷歌服务器,该服务器返回文本。 供您参考:http://developer.android.com/resources/articles/speech-input.html 我的目标是使用相同的google服务