Gibt es einen klaren Marktführer unter JVM-basierten Sprachen? [geschlossen]

9

Wie ist der aktuelle Status dieser Projekte und hat sich eines (oder zwei) als klarer Führer herausgestellt?

Um meine Motive für diese Frage zu demonstrieren, denken Sie einige Jahre zurück. Prototype und jQuery standen sich mit anderen Spielern wie MooTools gegenüber, die ebenfalls ums Überleben kämpften. Schneller Vorlauf bis heute, und der allgemeine Konsens ist, dass jQuery die beste allgemeine JavaScript-Bibliothek ist.

Ist in den letzten Jahren mit diesen JVM-basierten Sprachen etwas Ähnliches passiert? Sind bestimmte Sprachen verfallen und verlassen? Nach dem, was ich gelesen habe, scheint Scala sicherlich gut vorbereitet zu sein, um der Favorit zu werden, aber andererseits ist fast alles, was ich gelesen habe, mehrere Jahre alt.


Ich habe ein bisschen mehr recherchiert - ich hatte die Idee, das Suchvolumen im Laufe der Jahre mithilfe von Google Trends zu überprüfen . Es scheint, dass Jython und JRuby relativ wenig Interesse haben, während Groovys Volumen abnimmt und Scalas Volumen konstant ist (im schlimmsten Fall) oder leicht zunimmt (im besten Fall). Ist das eine genaue Einschätzung?


Und ja, ich beziehe mich auf Nicht-Java-Sprachen in der JVM wie Jython, JRuby, Groovy, Scala, Clojure usw.

Rinogo
quelle
8
Es ist wichtig, sich daran zu erinnern, dass Benutzer von JRuby häufig nach Ruby suchen, wenn sie sich über Dinge im Zusammenhang mit Syntax, Redewendungen, Beispielen usw. wundern. Daher ist es schwierig, Tags oder Trends zu vergleichen, da sich Scala und Groovy auf eine Sprache und Implementierung beziehen, während JRuby dies nur tut bezieht sich auf eine Implementierung.
Deckard
10
Definieren Sie "Anführer" :) Im reinen Sinne von "Anzahl der verwendeten Zeiten" ist Java selbst der klare Anführer
Heiko Rupp
4
Ich
4
In der Tat ist Java ein klarer Marktführer in der JVM.
Chiron
4
@jprete: rinogo hat die Sprachen aufgelistet, aber Mark Trapp hat sie gelöscht und die Frage geändert.
Jonas

Antworten:

12

Keiner

Keiner hat die notwendige Marktdurchdringung, um sie als "Gewinner" im Rennen (falls es einen gibt) zu erklären, um eine bessere JVM-Sprache zu finden.

Überprüfung der verfügbaren Stellen (auf careers.stackoverflow.com) als Indikator für den Markt für Personen mit diesen Fähigkeiten.

1 grooviger Job.
4 Scala Jobs.
21 C # Jobs.
22 Ruby Jobs.
29 Python- Jobs.
34 PHP- Jobs.
39 Java- Jobs.
0 für JRuby, Jython oder Grails.

Gesucht am 23.04.2011 mit Postleitzahl 10001 und einer Reichweite von 150 Meilen

Josh K.
quelle
Es wäre interessant zu sehen, wie diese nach dem Anfangsgehalt (oder sogar nach seiner Spanne) gewichtet werden. Aber andererseits würde dies Sie direkt in das Gebiet außerhalb des Themas bringen.
GregC
3
Wie wäre es mit Clojure?
Alternative
2
Haben Karrieren die Art von Marktdurchdringung, um eine vernünftige Stichprobe zu sein? Die pauschale Auflistung zeigt 549 Jobs (klingt nach Gesamtauflistungen?).
Steven Evers
1
@SnOrfus: Vielleicht nicht, es war das erste Mal, dass ich gesucht habe, da nach meiner eigenen Erfahrung alle Jobs von relativ hoher Qualität und gut definiert sind, mit entsprechenden Tags und Fokus. Ich werde diese Ergebnisse auf mehreren anderen Websites erneut ausführen.
Josh K
@ Josh K. Das ist eine vernünftige Entscheidung. +1.
Steven Evers
7

Vor einem Jahr gab es eine Bewertung der Community-Größen von Stack Overflow , und Scala übernahm die Führung, wobei Groovy und Clojure sehr nahe beieinander lagen. Sie können den frei verfügbaren Speicherauszug verwenden, um ähnliche Abfragen durchzuführen.

Jedenfalls sehe ich im JVM-Land überhaupt keinen klaren Gewinner. Erstens gibt es eine große Menge, die dynamische Sprachen mag und nicht zu Scala passt. Dann gibt es die statische Menge, die mit dynamischen Sprachen wie Groovy nicht mithalten kann.

Aber sie haben alle kleine Anhänger, verglichen mit jeder der großen Sprachen da draußen. Ihnen fehlt eine kritische Masse, um langfristig erfolgreich zu sein, was das Zeichen eines echten Gewinners wäre.

Daniel C. Sobral
quelle
1
+1 für den nützlichen Link - aber ich möchte hinzufügen, dass der Punkt bei JVM-Sprachen darin besteht, dass sie keine kritische Masse benötigen, wie dies völlig unabhängige Sprachökosysteme tun - da sie alle Java-Bibliotheken und -Tools ausnutzen können. Ich würde behaupten, dass Clojure, Scala, JRuby und Groovy infolgedessen alle bereits weit hinter der kritischen Masse liegen.
Mikera
3

Die am häufigsten verwandte Frage lautet: Wie ermutigen Sie Ihr Unternehmen, von Java zu Scala zu wechseln?

Scala bietet ein anderes Programmierparadigma und eine andere Syntax, während Groovy eine niedrige Lernkurve für Java-Entwickler bietet. Beide haben ihren Platz.

Verwandte Kommentare aus der Community: /programming/3644251/what-are-your-experiences-developing-in-scala-lift/3646365#3646365

Nach den positiven Kommentaren zu urteilen, würde ich sagen, dass Scala eine gute Wette ist.

Ich denke auch, dass ein intuitives Tool, das nicht sehr viele Fragen verursacht, ein positiver Indikator ist, daher ist die Anzahl der Fragen zum Stapelüberlauf keine gute Metrik.

GregC
quelle
3
Gefühle geben keine Antwort. Haben Sie Fakten und Referenzen ?
2
Mark ist ein großartiger Moderator!
GregC
Danke, aber jetzt geht Ihre Antwort nicht auf die Frage ein. Die Frage ist nach spezifischen Informationen über den Status der Projekte zu suchen, nicht nach Ihren Gedanken darüber, wann Sie das eine oder das andere verwenden sollen. Ihre ursprüngliche Formulierung beantwortete die Frage, es wurden nur Referenzen benötigt, um sie zu sichern.
@ Mark Trapp: Ihre Bemühungen sind sehr willkommen. Ich muss mich etwas mehr auf die Substanz konzentrieren.
GregC
3

Diese Frage basiert auf der völlig falschen Annahme, dass JVM-Sprachen Alternativen zueinander sind. Sie zeichnen eine Analogie zu JS-Toolkits, die alle dieselbe Sprache verwenden, alle dieselbe Zielgruppe haben und alle dieselbe Verwendung haben. Bei JVM-Sprachen haben alle nur gemeinsam, dass sie mit JVM implementiert werden. Abgesehen davon ist das Spektrum der Sprachen so breit wie möglich: statisch, dynamisch, funktional, objektiv ...

Zum Beispiel ist es falsch anzunehmen, dass Jython eine Alternative zu Scala oder JRuby ist; Es ist viel mehr eine Alternative zu CPython, IronPython oder PyPy.

Bei der aktuellen Antwort mit der höchsten Abstimmung wird auch falsch davon ausgegangen, dass die Stellenbeschreibung über Implementierungsdetails spricht. Selbst wenn ein Unternehmen Jython oder JRuby verwendet, erfordert die Stellenbeschreibung Python- oder Ruby-Erfahrung. Jython entspricht der Sprachspezifikation, daher ist Jython Python , ähnlich wie JRuby Ruby .

vartec
quelle
+1. Sehr guter Punkt. Es gibt keine "JVM-basierte Sprache". Java selbst kann zu JavaScript (GWT) oder nativen Binärdateien (GCJ) kompiliert werden. Umgekehrt kann JavaScript auf der JVM (Rhino) ausgeführt werden, obwohl es nicht unter den Kandidaten aufgeführt war. Der springende Punkt bei Programmiersprachen ist eine überschaubare Abstraktion der Programmausführung.
back2dos
0

Es gibt keinen klaren Anführer - Scala, Clojure und Groovy scheinen derzeit (Mitte 2012) alle sehr stark zu sein.

Einige Umfragedaten:

Es ist jedoch schwer zu messen - ich denke, Stellenausschreibungen und Indizes wie TIOBE sind für die Einführung neuer Sprachen im Wesentlichen nutzlos, da sie in erster Linie von sehr schleppenden Indikatoren abhängen (Ihr durchschnittlicher Spitzhaar-Chef wird erst nach mindestens einem Jahr einen Clojure-Entwickler einstellen Ein paar Jahre nachdem Ihre aktuellen Clojure-Hacker ein erstaunlich tolles Produkt entwickelt haben und Sie endlich entschieden haben, dass Sie das Team vergrößern müssen.

mikera
quelle