Auf der Suche nach den neuesten und leistungsstarken kommenden Programmiersprachen über das Internet bin ich auf Ceylon gestoßen. Ich bin bei ceylon-lang.org vorbeigekommen und es heißt:
Ceylon ist stark von Java beeinflusst. Sie sehen, wir sind Fans von Java, aber wir kennen die Grenzen genau. Ceylon behält die besten Teile von Java bei, verbessert jedoch Dinge, die unserer Erfahrung nach nervig, langweilig, frustrierend, schwer zu verstehen oder fehleranfällig sind.
Was sind die Vorteile von Ceylon gegenüber Java?
java
programming-languages
learning
ceylon
Anuj Balan
quelle
quelle
Antworten:
Ceylon scheint eine nette, lustige Sprache zu sein, aber ich würde behaupten, dass es relativ wenige "Vorteile" gegenüber Java hat.
Ich denke, es hat eine schönere Syntax und einige "modernere" Sprachfunktionen - obwohl dies subjektiv ist und ich argumentieren würde, dass es relativ kleine Faktoren bei der Auswahl einer Programmiersprache sein sollten.
Viel wichtigere Faktoren bei der Auswahl einer Sprache / Plattform für ein ernstes Projekt:
Insgesamt würde ich die Leute sicherlich ermutigen, mit Ceylon zu experimentieren und Spaß daran aus einer Lernperspektive zu haben.
Derzeit sehe ich jedoch keine überzeugenden Vorteile, die eine große Anzahl von Menschen dazu veranlassen würden, darauf umzusteigen (oder sie vor anderen JVM-Sprachen wie Clojure, Scala, JRuby oder Groovy zu wählen).
quelle
Es hat einige nette Funktionen, die in Java nicht zu finden sind:
quelle
Soweit ich bemerkt habe, besteht einer der größten Unterschiede zwischen Ceylon und anderen von Hobby erstellten JVM-Sprachen darin, dass es von Red Hat / JBoss unterstützt wird. Es wird also ein wirklich schönes Tooling-Set in JBoss Tools / Developer Studio integriert, gute Interaktionen mit JBoss AS / Gatein Portal und der gesamten Midleware / JEE 6 / BRMS. So könnten Sie bei einigen Poing vollwertige Ceylon-Anwendungen in JSF entwickeln, sehr produktive Portlets mit einem PHP "Change and Refresh Cycles" und was nicht.
Wie die meisten JVM-basierten Sprachen sehe ich es nicht als Ersatz für Java für Projekte, die große Codebasen benötigen, sondern für einige kleine bis mittelgroße Projekte, insbesondere einmal, die sehr modular sind (wie CRUD-intensiv, Portlets usw.) ). Ich denke, es wird in der Web-Welt sehr gut ankommen, besonders von JBoss-Fans.
quelle
Ich denke, Ceylon ist in vielerlei Hinsicht interessant. Und vielleicht haben sie Recht damit, dass Sie in gewisser Weise von Java abweichen müssen, wenn Sie einige Probleme mit Java hinter sich lassen möchten. Ceylon scheint einige Sprachfunktionen zu haben, und ich hoffe, dies macht den Compiler langsam wie in Scala oder noch schlimmer, da die Build-Zeiten nicht mit der Codegröße skaliert werden können (siehe Feedback zu zwei Jahren Scala-Erfahrung ). Das Tempo des Ceylon-Entwicklerteams ist beeindruckend.
Kotlin ist immer noch 0,6 und gemessen an der Entwicklungsgeschwindigkeit im letzten Jahr würde ich sagen, dass 1,0 ein Jahr entfernt ist. Es hat nicht so viele Sprachfunktionen wie Ceylon (aber diese wichtigen Java fehlen wie Eigenschaften und Erweiterungsmethoden) und scheint eher eine Art Scala ohne die Probleme zu sein. Ich denke, skalierbare Build-Zeiten werden damit kein Problem sein. Aber Kotlin kann nur ein schöneres Java wie Groovy sein. Es kann keinen Ausweg aus der Java-Commodity-Programmierung mit XML-Abhängigkeit, Boilerplate-Code, Byte-Code-Manipulation usw. bieten. Es ist so etwas wie Java und Scala, die richtig gemacht wurden. Ob Kotlin oder Ceylon etwas bewirken können, bleibt abzuwarten. Ich denke, beide Versuche sind die Mühe wert und ich wünsche beiden viel Glück.
quelle
Ceylon erstellt während seiner Entwicklung eine Spezifikation, wie alle großen JVM-Sprachen (dh alle oben genannten außer Groovy) ...
Ceylon (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 folgt Rubys Spezifikation, für die bezahlt werden muss (http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=59579).
quelle