Quel langage pour la JVM souhaitez-vous utiliser en 2012 ?
Et pourquoi ?

Le , par Mickael Baron, Responsable Java
Bonjour,

Véritable effet de mode, les langages pour la Java Virtual Machine (JVM) se multiplient et la liste devient délicate à maintenir sachant que certains ne dépasseront jamais le stade de l'anonymat. De plus, depuis l'arrivée de l'invocation dynamique dans Java 7 ça pourrait s'accélérer.

Voici une liste partielle des plus connus :

Quel est selon vous le langage promis à un bel avenir, et pourquoi ?

PS : vous pouvez trouver le précédent sondage antérieur à 2012 dans les archives.


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


 Poster une réponse

Avatar de samkiller samkiller - Membre régulier http://www.developpez.com
le 28/05/2012 à 17:49
Je développe en Java et en Scala professionellement déjà. Et ce depuis Janvier.
Cela dit je vais bien tester Kotlin et Ceylon. Mais avec l'arrivée de Java 8, j'ai du mal à voir leur intérêt. J'attends de tester.
Sinon mon choix définitif serait Clojure. Le plus disruptif d'après moi.
Avatar de JoeChip JoeChip - Membre éclairé http://www.developpez.com
le 28/05/2012 à 19:53
Le plus disruptif d'après moi.

C'est un critère ça ?
Avatar de _skip _skip - Expert éminent http://www.developpez.com
le 29/05/2012 à 8:57
Perso je pense que beaucoup d'initiatives de créer un java like avec des choses en plus (properties, ) sont nées durant les longues période d'attente de java 7.

Parmi ceux que je trouve intéressants il y a surtout ceux qui ont les plus gros sponsors càd:

  • X-tend (eclipse)
  • Ceylon (jboss)
  • Scala (déjà une bonne adoption)


Tous ont par ailleurs compris que leur salut passait par un support IDE poussé ce qui est loin d'être le cas chez la plupart des langages récents.
Perso je sauterai sur le bateau du premier qui m'offre un java avec plus de sucres syntaxiques car je pense qu'il y a de nombreuses lourdeurs affligeantes dans ce langage même si ses qualités sont indiscutables. Le problème serait surtout de convaincre mes partenaires de faire de même...
Avatar de kaljerhom kaljerhom - Membre à l'essai http://www.developpez.com
le 29/05/2012 à 10:19
Perso sur la jvm scala est un langage très puissant et c'est celui-là que je privilégie aujourd'hui.
Avatar de Mickael Baron Mickael Baron - Responsable Java http://www.developpez.com
le 29/05/2012 à 10:27
Tous ont par ailleurs compris que leur salut passait par un support IDE poussé ce qui est loin d'être le cas chez la plupart des langages récents.

+1

Perso je sauterai sur le bateau du premier qui m'offre un java avec plus de sucres syntaxiques car je pense qu'il y a de nombreuses lourdeurs affligeantes dans ce langage même si ses qualités sont indiscutables

Perso, ce qui peut m'effrayer c'est la pérennité de ces nouveaux langages. Tous ne survivront pas ...

Mickael
Avatar de nicorama nicorama - En attente de confirmation mail http://www.developpez.com
le 29/05/2012 à 10:36
Groovy parce qu'au boulot, c'est la classe dès qu'on veut éviter du bash.
Java 8 et Ceylon parce que c'est l'avenir.

Et surtout Kotlin parce qu'ils veulent utiliser Play!, et en plus j'ai une licence IntelliJ.
Avatar de Traroth2 Traroth2 - Expert éminent http://www.developpez.com
le 29/05/2012 à 12:24
Tiens, je ne connaissais pas Duby...

Sinon, j'ai voté pour Scala et Clojure. Je pense que la programmation fonctionnelle est un des axes majeurs de l'évolution de l'ingénierie logicielle aujourd'hui. Clojure est passionnant et Scala est, je pense, l'outil qui a le plus d'avenir. Les langages OO ne font finalement que pallier aux manques de Java, et il est dommage qu'il ne soit pas capable d'évoluer suffisamment vite pour que ces langages n'aient pas de raison d'être.

Sinon, personnellement, je trouve comme toujours que ce foisonnement est l'une des forces de l'écosystème Java.
Avatar de Yo Eight Yo Eight - Membre averti http://www.developpez.com
le 29/05/2012 à 13:53
Pour moi c'est Scala. Je considère vraiment ce langage comme ce que Java aurait dû être. C'est de la programmation objet sans compromis avec une saveur fonctionnelle:

Voici selon moi ses plus grandes fonctionnalités:

- Les traits: difficile de revenir à de simples interfaces après ça
- Les résolutions implicites
- Les types d'ordre supérieur, qui permettent une généricité d'un niveau supérieur, le rapprochant presque au niveau d'Haskell

Pour beaucoup la généricité se limite à ceci

Code : Sélectionner tout
List[A]
En Scala, on peut être générique également sur le type "contenant"

Code : Sélectionner tout
1
2
 
def process[F[_], A](v: F[A]) = .....
Ce qui permet en autre d'encoder certains concepts fonctionnels comme les Functors, les Applicative Functors ou encore les Monades

Scala vient également avec des défauts qui pourront à terme lui coûter cher:

- Le bytecode généré est horrible
- Certains sucres syntaxiques ont des impacts sur les performances (les conversions implicites, les closures, ...)
- La signature de certaines méthodes qui peuvent effrayer les débutants (juste à regarder l'API collection)
- Le plus gros pour moi: Scala est chimérique !
on peut avoir des styles de codes différents: on peut faire du pure fonctionnelle ou de l'objet. Ce qui peut causer des problèmes de maintenabilité.
Avatar de -gma- -gma- - Membre averti http://www.developpez.com
le 29/05/2012 à 14:40
Citation Envoyé par Squeak  Voir le message
Mais alors dans ce cas, pourquoi s'orienter à la base vers du Java et non analyser les besoins dès le début pour ne pas faire un projet qui tient plus d'une salade de fruits?

Parce que tu veux pouvoir utiliser des bibliothèques existantes écrites en Java à partir d'un autre langage qui génère du bytecode par exemple.
Mais aussi parce que la JVM est un "managed runtime" qui donne des avantages (à un certain coût certes) sur des applications purement natives, un des premiers étant le multiplateformes.

Et même des gens biens pensent à ça

Citation Envoyé par Yo Eight  Voir le message
Pour moi c'est Scala. Je considère vraiment ce langage comme ce que Java aurait dû être. C'est de la programmation objet sans compromis avec une saveur fonctionnelle:

Quand Java est sortit, certains compromis ont été faits, notamment au niveau de la performance, qui étaient (semblaient ?) sûrement évidents à l'époque mais qui sont dépassés aujourd'hui (par exemple les primitifs au niveau du langage). La double compatibilité ascendante est sûrement un obstacle à son évolution mais elle a aussi favorisé son adoption.
Au contraire Scala se présente depuis le début comme un langage évolutif et met donc plus de chances de son côté pour évoluer vers un "idéal"...
Avatar de bugsan bugsan - Membre confirmé http://www.developpez.com
le 29/05/2012 à 16:54
Je vote pour AspectJ. Il complète java au lieu de le soustraire.
Avatar de sjrd sjrd - Expert éminent http://www.developpez.com
le 30/05/2012 à 17:21
Citation Envoyé par Traroth2  Voir le message
Tiens, je ne connaissais pas Duby...

Sinon, j'ai voté pour Scala et Clojure. Je pense que la programmation fonctionnelle est un des axes majeurs de l'évolution de l'ingénierie logicielle aujourd'hui. Clojure est passionnant et Scala est, je pense, l'outil qui a le plus d'avenir. Les langages OO ne font finalement que pallier aux manques de Java, et il est dommage qu'il ne soit pas capable d'évoluer suffisamment vite pour que ces langages n'aient pas de raison d'être.

Sinon, personnellement, je trouve comme toujours que ce foisonnement est l'une des forces de l'écosystème Java.

Entièrement d'accord.

Je développe en Scala depuis un peu plus d'un an maintenant, et c'est un vrai bonheur.

Je ne connais en fait pas Clojure, mais j'ai aussi voté pour, parce que la question est : Quels sont ceux qui auront un bel avenir. Et d'après les échos que je vois et entends partout, Clojure est tout aussi bien parti que Scala.

De manière générale, l'émergence de nombreux langages pour la JVM témoigne d'un fait que j'estime indéniable : la JVM est un produit exceptionnel, performant, doté d'un écosystème très riche et de nombreuses bibliothèques très puissante. Le langage Java, en revanche, est dépassé, et en perte de vitesse. Tout ceci pousse un peu tout le monde à vouloir des langages plus modernes que Java, mais profitant de la JVM et de son écosystème.
Offres d'emploi IT
Reconversion ingénieur informatique h/f
Adaming - Ile de France - Paris (75000)
Analyste programmeur cobol (h/f)
ABASE - Provence Alpes Côte d'Azur - Aix-en-Provence (13100)
Développeur java (H/F)
CITECH - Provence Alpes Côte d'Azur - Aix-en-Provence (13100)

Voir plus d'offres Voir la carte des offres IT
Responsables bénévoles de la rubrique Java : Mickael Baron - Robin56 -