Ceylon M5 sort avec son IDE
Le langage pour la JVM de Red Hat, destiné à reprendre les points forts de Java franchit un nouveau cap

Le , par Stéphane le calme, Chroniqueur Actualités
Ceylon est un langage de programmation qui s’inspire énormément de Java. L’objectif est d’en reprendre les points forts tout en effaçant certaines de ses lourdeurs dixit son créateur.
Les caractéristiques phares de cette nouvelle version dont le nom de code est « Nesa Pong » sont les suivantes :

  • un nouveau module datetime et un serveur HTTP (ceylon.net.http.server) ;
  • le support des Tuples ;
  • la prise en charge des chaines verbatim ;
  • l’interopérabilité native avec les API JavaScript via le nouveau dynamic block ;
  • de nombreux changements importants dans la syntaxe suite au feedback de la communauté ;
  • un système de type entièrement réifié avec des arguments de type générique disponibles pendant l’exécution.


De nouvelles fonctionnalités sont apportées à cette version qui est pratiquement une implémentation complète du langage Ceylon. Par exemple, l’arrivée de l’opérateur « : », l’introduction des fonctions compose() et curry(). Au total, plus de 500 nouvelles fonctionnalités et des bogues corrigés.

Bien que la spécification du langage et la documentation aient été révisées et considérablement améliorées, M5 ne supporte pas encore le type safe metamodel, la sérialisation et la définition des annotations par l’utilisateur.

Le code source de Ceylon et ses spécifications sont téléchargeables en open source sur GitHub.

Télécharger Ceylon M5

Source : blog officiel

Et vous ?

Utilisez-vous Ceylon ? Est-il une sérieuse alternative à Java ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de Yoteco Yoteco - Rédacteur https://www.developpez.com
le 19/03/2013 à 15:03
Utilisez-vous Ceylon ? Est-il une sérieuse alternative à Java ?
Non.

Il y a bien trop de langages qui se créent sur la JVM. Et ils font un peu tous la même chose... ajouter un côté fonctionnel et améliorer les défauts de Java. Personnellement je me suis dirigé vers Scala qui après 10 ans de développement est bien plus mature que la majorité des autres langages s'exécutant sur la JVM.
Avatar de _skip _skip - Expert éminent https://www.developpez.com
le 19/03/2013 à 15:07
J'ai testé récemment.
C'est un langage intéressant si on peut vivre avec certains partis pris.

  • Un seul type entier, du moins pour le moment (équivalent java long)
  • Un seul type réel (équivalent java double)
  • Pas de type byte (les streams bossent sur des tableaux d'entier)


Assez peu d'éléments clairs en ce qui concerne le boxing et les tableaux, Sequence et Array. Les questions d'optimisation sont passées sur le 2e plan.

Par contre, les return value sous form d'union de type, la distinction entre variables et valeurs, référence nullable ou non, c'est plutôt bien pensé.
je trouve qu'il y a un parti pris intéressant pour un java-killer de miser sur la lisibilité et la sécurité du code plutôt que sur une avalanche de features.

Il me plait beaucoup plus que Scala qui est pour moi un langage qui s'écrit mais qui ne se lit pas. Maintenant a-t-il ses chances?
Avatar de Traroth2 Traroth2 - Expert éminent sénior https://www.developpez.com
le 19/03/2013 à 15:24
Il y a des idées intéressantes, et ça c'est toujours bon à prendre.
Avatar de _skip _skip - Expert éminent https://www.developpez.com
le 19/03/2013 à 15:36
Sans vouloir détourner le topic, j'en profite pour signaler que du côté de Kotlin ça avance aussi. Et avec ceylon il y a un certain nombres de features qui se retrouvent de part et d'autres.
http://kotlin.jetbrains.org/

Et aussi, là je n'ai rien testé mais il me semble que depuis sa version 2, groovy supporte la compilation statique pour ceux qui trouvaient que c'était sympa mais lent.
Avatar de Philippe Bastiani Philippe Bastiani - Membre éprouvé https://www.developpez.com
le 19/03/2013 à 16:12
Oui mais bon cela reste un langage de plus !

Qu'apporte-t'il REELEMENT au développeur ?
Qu'elle est sa courbe d'apprentissage ?
Est-il mature ?
Comment s'intégre-t'il dans l'éco-système Java ?
... Bref: vais-je avoir un réel bénéfice (technique et financier) à l'utiliser/le proposer ?

Java et son éco-système est un mastodonte... Avoir une part du gâteau aujourd'hui est bien plus difficile qu'obtenir le gâteau entier hier !
Les Scala, Groovy, Ceylon, Haskell, Kotlin, etc, ..., sont bien loin dans l'index Tiobe...

Perso, je m'investis dans Scala depuis peu : il est digne d’intérêt, 'presque' mature, de gros groupes l'ont adopté (Twitter, Linkedln)... mais franchement, sa courbe d'apprentissage est longue Et, je me vois mal le proposer chez un client ! alors Ceylon...
Avatar de _skip _skip - Expert éminent https://www.developpez.com
le 21/03/2013 à 10:50
Pour avoir testé je vais essayer de te répondre.

Citation Envoyé par Philippe Bastiani  Voir le message
Qu'apporte-t'il REELEMENT au développeur ?

Par rapport à java, plus de sécurité du code (distinction entre variable et valeur, variables nullables ou non), la gestion native des modules (un peu ce que jigsaw devait apporter). la redéfinition d'opérateur avec certaines limites, les sucres syntaxiques divers (propriétés, closures, tuples etc...).

Qu'elle est sa courbe d'apprentissage ?

Ca va très vite pour un habitué de java, tu te sens très vite à la maison.

Est-il mature ?

Ca fonctionne, y'a un plugin eclipse assez complet, mais c'est pas encore prêt pour la production.

Comment s'intégre-t'il dans l'éco-système Java ?

Pour avoir testé, franchement bien. Tu appelles du code java sans trop de difficulté, c'est assez bien documenté. Donc tu peux utiliser tes libs préférées sans trop de soucis.

... Bref: vais-je avoir un réel bénéfice (technique et financier) à l'utiliser/le proposer ?

Dur à dire, perso vu que je suis très partisan du typage statique et du compilateur qui détecte un max d'anomalie. Je pense que ce qu'il essaie de proposer, avec le focus sur la lisibilité plutôt que sur l'avalanche de features, ça peut avoir un impact réel sur la maintenance de grosses bases de code.

Les Scala, Groovy, Ceylon, Haskell, Kotlin, etc, ..., sont bien loin dans l'index Tiobe...

Ce classement est à jeter à la poubelle de toutes façons.

Perso, je m'investis dans Scala depuis peu : il est digne d’intérêt, 'presque' mature, de gros groupes l'ont adopté (Twitter, Linkedln)... mais franchement, sa courbe d'apprentissage est longue Et, je me vois mal le proposer chez un client ! alors Ceylon...

J'ai essayé Scala aussi. Pas accroché, les temps de compilation sont trop lents à mon goût, j'ai même parfois du mal à lire les API de certaines librairies, je trouve la relecture franchement difficile, il y a beaucoup de façons de faire une même chose, alors je n'imagine pas être 10 développeurs sur un même projet et devoir lire le "scala" des 9 autres.
Sans compter le paquet de fois que je vois des gens sur stackoverflow te sortir des "one-liners" dignes de Perl qui ressemblent à du ascii-art. Donc je pense que c'est pas pour moi, je crois pas que le gain en productivité par rapport à java (qui existe certainement) suffise à compenser la difficulté à la relecture qui pèse fortement sur la maintenance et la capacité de chaque auteur de librairie de créer son langage dans le langage (la syntaxe est très favorable au DSL, avec les parenthèses facultatives, les implicits, ça a du bon et du mauvais).
La capacité de mon oeil à "parser" du Scala n'est pas suffisante, ça s'entraîne sans doute... Mais plus de features, plus d'opérateurs et plus de concepts orthogonaux ne sont pas mes critères pour apprécier langage.

Le temps de compilation et la difficulté qu'ils ont à avoir un support IDE digne de ce nom suffisent à me convaincre que c'est un langage complexe. Il y a des gens qui essaient et qui l'adoptent, d'autres qui en reviennent 6 mois après. Perso je crois que si c'est dur à comprendre pour une machine, ça l'est pour un être humain.

A chacun de se forger son opinion, perso je n'ai pas pris la vague scala. Par contre ceylon correspond plus à mes convictions et attentes, même si je ne suis de loin pas d'accord avec tous les choix qui ont été faits.
Avatar de Philippe Bastiani Philippe Bastiani - Membre éprouvé https://www.developpez.com
le 22/03/2013 à 9:48
Citation Envoyé par _skip  Voir le message
Pour avoir testé je vais essayer de te répondre.

Merci pour ce retour...
Mais après seulement 2 ans d’existence on ne pas dire que ce langage soit mature.
Autre handicaps cela ressemble au frère de Java ! En son temps, Java, tranchait clairement sur le dev C++... IMHO, Ceylon apparaît plus comme un compagnon qu'un remplaçant à Java ! Et, c'est ce qui risque bien de perturber son adoption dans un/des projets majeurs.

A contrario Scala a son identité propre; et, il a l'avantage d'avoir été adopté dans des projets majeurs ! Pour le reste, il faut bien avouer, je reste perplexe face à ce langage qui semble fait par un universitaire pour un universitaire... A mon stade d'apprentissage, je ne comprends pas ce qui a pu pousser Twitter, LinkedIn, Meetup, ..., à l'avoir adopté !

a+
Philippe
Avatar de _skip _skip - Expert éminent https://www.developpez.com
le 22/03/2013 à 10:36
Citation Envoyé par Philippe Bastiani  Voir le message
Autre handicaps cela ressemble au frère de Java ! En son temps, Java, tranchait clairement sur le dev C++... IMHO, Ceylon apparaît plus comme un compagnon qu'un remplaçant à Java ! Et, c'est ce qui risque bien de perturber son adoption dans un/des projets majeurs.

Tu as raison, mais Java en soi a fait ses preuves. A ce titre je ne suis pas trop contre le fait que d'autres langages reprennent les concepts solides de java tout en essayant de débarrasser les casseroles.

A contrario Scala a son identité propre; et, il a l'avantage d'avoir été adopté dans des projets majeurs ! Pour le reste, il faut bien avouer, je reste perplexe face à ce langage qui semble fait par un universitaire pour un universitaire... A mon stade d'apprentissage, je ne comprends pas ce qui a pu pousser Twitter, LinkedIn, Meetup, ..., à l'avoir adopté !

Il a des choses très intéressantes en Scala.
Après tu as des témoignages de gens qui sont séduits, d'autres qui s'y sont essayé et qui reviennent à java (Yammer par exemple). Si tu penses que Scala est un truc universitaire ce qui est le cas à la base (j'ai même suivi des cours de son créateur), en opposition tu peux voir du côté de Ceylon et Kotlin que tu as à l'origine des développeurs issus du monde professionnel qui ont travaillé sur de grosses bases de code et qui ont une autre approche de ce que doit être un langage. Bien que chez Typesafe il y ait quelques pointures aussi.

Je vois souvent des comparaions entre scala et d'autres java killer, où on te sort que Scala peut faire tout ce que fait X et bien plus encore. Je veux bien que ce soit chouette lorsque tu veux prototyper un truc de pouvoir compter sur 16 manières de faire la même chose et des kilotonnes d'opérateurs et de concepts mais lorsque vous êtes 10 de niveaux inégaux qui travaillez sur la même base de code, ça devient un gros handicap.
Je suis pas trop partisan d'avoir des tonnes de features pour pouvoir écrire du code plus concis voire carrément résoudre des erreurs de conception. Je préfère que ça reste très strict et très dirigé.
En cela j'aime ces java-killers qui se concentrent sur la sécurité du code, qui veulent un langage qui se lit bien par tous (y compris par le compilateur) avec tout ce que ça permet ensuite en terme de support IDE, temps de compilation et possibilité de refactoring.

Comparaison biaisée et partisane de ma part puisqu'on peut écrire du bon Scala. Tout comme on peut écrire du bon C++. Seulement je pense encore qu'on est toujours obligé de lire le code d'autres personnes, donc moins y'a de trucs bizarres et de features orthogonales magiques, mieux c'est.

Après à chacun de se faire une opinion. Mais je trouve cela chouette d'avoir d'autres propositions que Scala comme "better java" avec d'autres points de focus et des attentes différentes.
Tout ceci n'est que mon sentiment personnel, il y a sur ce même forum des gens qui te diront que c'est impossible de revenir à java quand tu as goûté à Scala et que tous les problèmes que je soulève n'en sont pas ou sont question d'habitude.
Avatar de Philippe Bastiani Philippe Bastiani - Membre éprouvé https://www.developpez.com
le 22/03/2013 à 14:36
Citation Envoyé par _skip  Voir le message
Tout ceci n'est que mon sentiment personnel, il y a sur ce même forum des gens qui te diront que c'est impossible de revenir à java quand tu as goûté à Scala et que tous les problèmes que je soulève n'en sont pas ou sont question d'habitude.

Des gens de mauvaise foi je suppose; ou, des gens libres comme N.Martignole ! Le marché il n'y a rien d'autre de vrai au final...

A quand des ressources Ceylon sur ce forum pour faire monter les stats ?
Avatar de _skip _skip - Expert éminent https://www.developpez.com
le 25/09/2013 à 12:02
La version 1.0 est sortie récemment en beta. Le langage est à présent feature complete.

http://ceylon-lang.org/blog/2013/09/22/ceylon-1/

Je pense que cette décision est aussi stratégique, avec un java 8 qui arrive en 2014.
Offres d'emploi IT
Consultant sap finance/controlling H/F
Safran - Ile de France - Vélizy-Villacoublay (78140)
Ingénieur développement fpga (traitement vidéo) H/F
Safran - Ile de France - 100 rue de Paris 91300 MASSY
Architecte électronique de puissance expérimenté H/F
Safran - Ile de France - Villaroche - Réau

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil