在网上寻找最近和功能强大的编程语言时,我遇到了锡兰。我进入了ceylon-lang.org,上面写着:
锡兰深受Java影响。您会看到,我们是Java的粉丝,但是我们知道它的局限性。Ceylon保留了Java的最佳功能,但改进了我们认为烦人,乏味,令人沮丧,难以理解或容易出错的东西。
与Java相比,Ceylon有哪些优势?
在网上寻找最近和功能强大的编程语言时,我遇到了锡兰。我进入了ceylon-lang.org,上面写着:
锡兰深受Java影响。您会看到,我们是Java的粉丝,但是我们知道它的局限性。Ceylon保留了Java的最佳功能,但改进了我们认为烦人,乏味,令人沮丧,难以理解或容易出错的东西。
与Java相比,Ceylon有哪些优势?
Answers:
Ceylon似乎是一种有趣的语言,但我认为它比Java的“优势”相对较少。
我认为它具有更好的语法和更多“现代”语言功能-尽管这是主观的,并且我认为选择编程语言应该是相对较小的因素。
为严肃的项目选择语言/平台时,更重要的因素是:
总的来说,我当然会鼓励人们尝试锡兰,并从学习的角度去玩。
但是我目前没有看到任何引人注目的优势,这些优势会使很多人想要切换到它(或者在其他JVM语言(例如Clojure,Scala,JRuby或Groovy)之前选择它)。
它具有Java中找不到的一些不错的功能:
据我所知,Ceylon与其他“爱好创建”的JVM语言之间的最大区别之一是,它将得到Red Hat / JBoss的支持。因此,它将获得一个非常好的工具集,集成到JBoss Tools / Developer Studio中,并与JBoss AS / Gatein Portal以及所有Midleware / JEE 6 / BRMS进行了良好的交互。因此,您可能会在某些场合用JSF开发成熟的Ceylon应用程序,具有PHP“更改和刷新周期”的非常有生产力的portlet,而没有。
作为大多数基于JVM的语言,对于需要大量代码库的项目,我不认为它可以替代Java,但对于一些中小型项目,尤其是模块化程度很高的项目(如CRUD密集型,Portlet等),我认为它不能替代Java。 )。我认为它将在网络世界中受到极大欢迎,尤其是JBoss粉丝。
我认为锡兰在很多方面都很有趣。如果您想抛弃Java的某些问题,也许它们是正确的,您需要以某种方式离开Java。Ceylon似乎具有许多语言功能,我希望这确实会使编译器像Scala一样变慢,甚至导致编译时间不随代码大小而扩展(请参阅两年的Scala经验反馈)。锡兰开发团队的步伐令人印象深刻。
Kotlin仍然是0.6,从去年的发展速度来看,我要说比1.0还差一年。它没有像Ceylon这样的许多语言功能(但是缺少一些重要的Java功能,例如特征和扩展方法),并且似乎更多是Scala,没有它的问题。我猜可扩展的构建时间将不是问题。但是Kotlin只能像Groovy这样更好的Java。它无法提供摆脱XML依赖,样板代码,字节码操作等Java商品编程的方法。这就像Java和Scala一样。Kotlin还是Ceylon是否能够有所作为还有待观察。我认为这两种尝试都是值得的,并且祝他们好运。
Ceylon在开发过程中正在制定规范,就像所有大型JVM语言一样(即,除了Groovy之外,上述所有语言)...
锡兰(http://ceylon-lang.org/documentation/1.0/spec)
Clojure(http://clojure.org/Reference)
Scala(www.scala-lang.org/docu/files/ScalaReference.pdf)
Java(http://docs.oracle.com/javase/specs/jls/se7/html/index.html)
JRuby遵循Ruby的规范,必须为此付费(http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=59579)。