Existe-t-il un leader clair parmi les langages basés sur JVM? [fermé]

9

Quelle est la situation actuelle de ces projets et l'un (ou deux) est-il apparu comme un leader clair?

Pour démontrer mes motivations à poser cette question, jetez votre esprit plusieurs années en arrière. Prototype et jQuery allaient de pair avec d'autres joueurs comme MooTools qui se battaient également pour survivre. Avance rapide jusqu'à aujourd'hui, et le consensus général est que jQuery est la meilleure bibliothèque JavaScript à usage général.

Est-il arrivé quelque chose de similaire au cours des dernières années avec ces langages basés sur JVM? Certaines langues sont-elles tombées en ruine et abandonnées? D'après ce que j'ai lu, il semble que Scala soit certainement bien préparé pour devenir le favori, mais là encore, presque tout ce que j'ai lu a plusieurs années.


J'ai fait un peu plus de recherche - j'ai eu l'idée de vérifier le volume de recherche au fil des ans en utilisant Google Trends . Il semble que Jython et JRuby aient relativement peu d'intérêt alors que le volume de Groovy diminue et le volume de Scala est constant (au pire) ou augmente légèrement (au mieux). Est-ce une évaluation précise?


Et oui, je fais référence aux langages non Java sur la JVM tels que Jython, JRuby, Groovy, Scala, Clojure, etc.

rinogo
la source
8
Une chose importante à retenir est que les utilisateurs de JRuby exploreront souvent pour Ruby quand ils demandent des trucs liés à la syntaxe, les expressions idiomatiques, des exemples, etc. Donc , on compare les étiquettes ou les tendances est difficile car Scala et Groovy se réfèrent à une langue et la mise en œuvre alors que JRuby fait référence à une implémentation.
Deckard
10
Définir "leader" :) Au sens pur du "nombre de fois utilisé", Java lui-même est le leader clair
Heiko Rupp
4
Je suppose que c'est toujours Java :)
4
En effet, Java est un leader incontesté sur la JVM.
Chiron
4
@jprete: rinogo a bien répertorié les langues, mais Mark Trapp les a supprimées et a changé la question.
Jonas

Réponses:

12

Aucun

Aucun n'a la pénétration du marché nécessaire pour les déclarer comme "gagnants" dans la course (s'il y en a un) pour trouver un meilleur langage JVM.

Vérification des emplois disponibles (sur careers.stackoverflow.com) comme indicateur du marché pour les personnes possédant ces compétences.

1 travail groovy .
4 emplois scala .
21 travaux C # .
22 emplois rubis .
29 travaux python .
34 emplois php .
39 emplois java .
0 pour JRuby, Jython ou Grails.

Recherché le 23/04/2011, à l'aide du code postal 10001 et d'une portée de 150 miles

Josh K
la source
Il serait intéressant de voir comment ceux-ci sont pondérés par le salaire de départ (ou même sa fourchette). Mais là encore, cela vous amènerait carrément sur le territoire hors sujet.
GregC
3
Et le clojure?
alternative
2
Les carrières ont-elles le type de pénétration du marché pour être un échantillonnage raisonnable? La liste de couverture montre 549 emplois (cela ressemble à un total de listes?).
Steven Evers
1
@SnOrfus: Peut-être pas, c'était la première fois que je cherchais car, selon ma propre expérience, tous les emplois sont de relativement bonne qualité et bien définis avec des balises et une concentration appropriées. Je vais relancer ces résultats sur plusieurs autres sites.
Josh K
@Josh K. C'est une décision raisonnable. +1.
Steven Evers
7

Il y a un an, il y a eu une évaluation de la taille des communautés Stack Overflow , et Scala a pris les devants, Groovy et Clojure étant très proches. Vous pouvez utiliser le vidage disponible gratuitement pour effectuer des requêtes similaires.

En tout cas, je ne vois aucun vainqueur clair dans le monde de la JVM. Tout d'abord, il y a une grande foule qui aime les langages dynamiques et qui n'ira pas avec Scala. Ensuite, il y a la foule statique qui n'ira pas avec les langages dynamiques tels que Groovy.

Mais ils ont tous de PETITS abonnés, par rapport à n'importe quelle grande langue. Ils manquent de masse critique pour assurer un succès à long terme, ce qui serait la marque d'un vrai gagnant.

Daniel C. Sobral
la source
1
+1 pour le lien utile - mais j'ajouterais que le point sur les langages JVM est qu'ils n'ont pas besoin d'une masse critique de la même manière que les écosystèmes de langages complètement indépendants - car ils peuvent exploiter toutes les bibliothèques et les outils Java. Je dirais que Clojure, Scala, JRuby et Groovy ont déjà dépassé la masse critique à cause de cela.
mikera
3

La question la plus connexe est: Comment encouragez-vous votre organisation à passer de Java à Scala?

Scala offre un paradigme et une syntaxe de programmation différents, tandis que Groovy propose une courbe d'apprentissage faible pour les développeurs Java. Les deux ont leur place.

Commentaires connexes de la communauté: /programming/3644251/what-are-your-experiences-developing-in-scala-lift/3646365#3646365

À en juger par les commentaires positifs, je dirais que Scala est un bon pari.

Je pense également qu'un outil intuitif qui ne cause pas énormément de questions est un indicateur positif, donc le nombre de questions sur Stack Overflow n'est pas une bonne métrique.

GregC
la source
3
Les sentiments ne répondent pas. Avez-vous des faits et des références ?
2
Mark est un modérateur génial!
GregC
Merci, mais maintenant votre réponse ne répond pas à la question. La question consiste à rechercher des informations spécifiques sur l'état d'avancement des projets, et non vos réflexions sur le moment d'utiliser l'un ou l'autre. Votre formulation originale a répondu à la question, elle avait juste besoin de références pour la sauvegarder.
@Mark Trapp: vos efforts sont les bienvenus. Je dois me concentrer un peu plus sur le fond.
GregC
3

Cette question est basée sur une hypothèse complètement déplacée, selon laquelle les langages JVM sont des alternatives les uns aux autres. Vous dessinez une analogie avec les kits d'outils JS, qui utilisent tous le même langage, tous ont le même public, tous ont la même utilisation. Dans le cas des langages JVM, la seule chose commune à tous, c'est qu'ils sont implémentés à l'aide de JVM. En dehors de cela, c'est un éventail de langues aussi large que possible: statique, dynamique, fonctionnel, objectif ...

Par exemple, il est faux de supposer que Jython est une alternative à Scala ou JRuby; c'est beaucoup plus une alternative à CPython, IronPython ou PyPy.

Quant à la réponse actuellement la mieux notée , elle fait également l'hypothèse fausse que la description de travail parlera des détails de la mise en œuvre. En fait, même si une entreprise utilise Jython ou JRuby, la description de poste fera toujours appel à une expérience Python ou Ruby. Jython est conforme aux spécifications du langage, donc Jython est Python , similaire à JRuby est Ruby .

vartec
la source
+1. Très bon point. Il n'y a pas de "langage basé sur JVM". Java lui-même peut être compilé en JavaScript (GWT) ou en binaires natifs (GCJ). À l'inverse, JavaScript peut s'exécuter sur la JVM (rhinocéros), même s'il n'était pas répertorié parmi les candidats. L'intérêt des langages de programmation est d'avoir une abstraction gérable de la façon dont les programmes sont exécutés.
back2dos
0

Il n'y a pas de leader clair - Scala, Clojure et Groovy semblent tous être très forts à l'heure actuelle (mi-2012).

Quelques données d'enquête:

C'est difficile à mesurer cependant - je pense que les offres d'emploi et les index comme TIOBE sont essentiellement inutiles pour l'adoption d'une nouvelle langue car ils dépendent principalement d'indicateurs très en retard (votre patron aux cheveux pointus moyen n'engagera pas un développeur Clojure avant au moins un quelques années après que vos pirates Clojure actuels ont construit un produit génial incroyable et vous avez finalement décidé que vous devez développer l'équipe).

mikera
la source