Czy istnieje wyraźny lider wśród języków opartych na JVM? [Zamknięte]

9

Jaki jest obecny status tych projektów i czy którykolwiek (lub dwa) pojawił się jako wyraźny lider?

Aby zademonstrować moje motywy zadawania tego pytania, cofnij swój umysł o kilka lat. Prototyp i jQuery szły ramię w ramię z innymi graczami, takimi jak MooTools, którzy również walczyli o przetrwanie. Szybko do przodu, a ogólny konsensus jest taki, że jQuery jest najlepszą biblioteką JavaScript ogólnego przeznaczenia.

Czy coś podobnego wydarzyło się w ciągu ostatnich kilku lat z tymi językami opartymi na JVM? Czy niektóre języki popadły w ruinę i porzucenie? Z tego, co przeczytałem, wydaje się, że Scala jest z pewnością dobrze przygotowana do zostania faworytem, ​​ale z drugiej strony prawie wszystko, co przeczytałem, ma kilka lat.


Zrobiłem trochę więcej badań - wpadłem na pomysł, aby sprawdzić liczbę wyszukiwań przez lata za pomocą Google Trends . Wygląda na to, że Jython i JRuby są stosunkowo mało zainteresowani, podczas gdy głośność Groovy zmniejsza się, a głośność Scali jest stała (w najgorszym przypadku) lub nieznacznie rośnie (w najlepszym przypadku). Czy to dokładna ocena?


I tak, mam na myśli języki inne niż Java w JVM, takie jak Jython, JRuby, Groovy, Scala, Clojure itp.

rinogo
źródło
8
Ważną rzeczą do zapamiętania jest to, że użytkownicy JRuby często szukają Rubiego, ilekroć zastanawiają się nad rzeczami związanymi ze składnią, idiomami, przykładami itp. Tak więc porównywanie znaczników lub trendów jest trudne, ponieważ Scala i Groovy odnoszą się do języka i implementacji, podczas gdy JRuby po prostu odnosi się do implementacji.
Deckard
10
Zdefiniuj „lidera” :) W czystym sensie „liczby użytych czasów” sama Java jest wyraźnym liderem
Heiko Rupp
4
Oczekuję, że nadal jest to Java :)
4
Rzeczywiście, Java jest wyraźnym liderem w JVM.
Chiron,
4
@jprete: rinogo wymienił języki, ale Mark Trapp usunął je i zmienił pytanie.
Jonas,

Odpowiedzi:

12

Żaden

Żadna z nich nie ma wystarczającej penetracji rynku, aby ogłosić ich „zwycięzcą” w wyścigu (jeśli taki istnieje), aby znaleźć lepszy język JVM.

Sprawdzanie dostępnych ofert pracy (na stronie careers.stackoverflow.com) jako wskaźnika rynku dla osób z tymi umiejętnościami.

1 świetna robota.
4 zlecenia Scala .
21 zadań w C # .
22 rubinowe prace.
29 zadań w Pythonie .
34 prace php .
39 miejsc pracy w Java .
0 dla JRuby, Jython lub Grails.

Przeszukano 23.04.2011, używając kodu pocztowego 10001 i zasięgu 150 mil

Josh K.
źródło
Interesujące byłoby zobaczyć, jak są one ważone przez początkową pensję (lub nawet jej zakres). Ale z drugiej strony trafiłoby to wprost na terytorium poza tematem.
GregC,
3
Co powiesz na clojure?
alternatywny
2
Czy kariery mają taki rodzaj penetracji rynku, by stanowić rozsądną próbę? Lista ogólna pokazuje 549 ofert pracy (brzmi jak suma ofert?).
Steven Evers,
1
@SnOrfus: Być może nie, był to pierwszy, którego szukałem, ponieważ z własnego doświadczenia wynika, że ​​wszystkie zadania są stosunkowo wysokiej jakości i dobrze zdefiniowane z odpowiednimi znacznikami i ukierunkowaniem. Ponownie uruchomię te wyniki na kilku innych stronach.
Josh K
@Josh K. To rozsądna decyzja. +1.
Steven Evers,
7

Rok temu oceniano rozmiary społeczności Stack Overflow , a Scala uzyskała prowadzenie, a Groovy i Clojure byli bardzo blisko. Możesz użyć swobodnie dostępnego zrzutu do podobnych zapytań.

W każdym razie nie widzę żadnego wyraźnego zwycięzcy na ziemi JVM. Przede wszystkim jest spory tłum, który lubi dynamiczne języki i nie pójdzie ze Scalą. Następnie istnieje statyczny tłum, który nie będzie pasował do dynamicznych języków, takich jak Groovy.

Ale wszystkie mają MAŁE obserwacje, w porównaniu do dowolnego z dużych języków. Brakuje im masy krytycznej, aby zapewnić długoterminowy sukces, który byłby znakiem prawdziwego zwycięzcy.

Daniel C. Sobral
źródło
1
+1 za użyteczne łącze - ale dodam, że chodzi o języki JVM, że nie potrzebują one masy krytycznej w taki sam sposób, jak robią to całkowicie niezależne ekosystemy językowe - ponieważ mogą wykorzystywać wszystkie biblioteki i narzędzia Java. Twierdzę, że Clojure, Scala, JRuby i Groovy już wcześniej przeszli przez masę krytyczną.
mikera
3

Najczęściej powiązane pytanie brzmi: w jaki sposób zachęcasz swoją organizację do przejścia z Javy do Scali?

Scala oferuje inny paradygmat programowania i składnię, podczas gdy Groovy oferuje niską krzywą uczenia się dla programistów Java. Oba mają swoje miejsce.

Powiązane komentarze od społeczności: /programming/3644251/what-are-your-experiences-developing-in-scala-lift/3646365#3646365

Sądząc po pozytywnych komentarzach, powiedziałbym, że Scala to dobry zakład.

Myślę też, że intuicyjne narzędzie, które nie powoduje zbyt wielu pytań, jest pozytywnym wskaźnikiem, więc liczba pytań dotyczących przepełnienia stosu nie jest świetną miarą.

GregC
źródło
3
Uczucia nie dają odpowiedzi. Czy masz fakty i referencje ?
2
Mark jest niesamowitym moderatorem!
GregC,
Dzięki, ale teraz twoja odpowiedź nie odnosi się do pytania. Pytanie dotyczy konkretnych informacji na temat statusu projektów, a nie twoich przemyśleń na temat tego, kiedy użyć jednego lub drugiego. Twoja oryginalna formuła odpowiedziała na pytanie, wystarczyło tylko odniesienie, aby to zrobić.
@Mark Trapp: twoje wysiłki są bardzo mile widziane. Muszę się bardziej skupić na treści.
GregC,
3

To pytanie opiera się na całkowicie błędnym założeniu, że języki JVM są dla siebie alternatywami. Rysujesz analogię do zestawów narzędzi JS, które używają tego samego języka, wszyscy mają tę samą grupę odbiorców, wszyscy mają to samo zastosowanie. W przypadku języków JVM ich wspólną cechą jest to, że są one implementowane przy użyciu JVM. Poza tym jest tak szeroki wachlarz języków, jak można uzyskać: statyczny, dynamiczny, funkcjonalny, obiektywny ...

Na przykład błędem jest zakładanie, że Jython jest alternatywą dla Scali lub JRuby; jest to o wiele więcej alternatywa dla CPython, IronPython lub PyPy.

Jeśli chodzi o obecnie najczęściej głosowaną odpowiedź , to również fałszywie zakłada, że ​​w opisie zadania będzie mowa o szczegółach implementacji. W rzeczywistości, nawet jeśli firma używa Jython lub JRuby, opis zadania nadal będzie wymagał doświadczenia w Pythonie lub Ruby. Jython jest zgodny ze specyfikacją języka, stąd Jython to Python , podobnie jak JRuby to Ruby .

vartec
źródło
+1. Bardzo dobra uwaga. Nie ma czegoś takiego jak „język oparty na JVM”. Sama Java może być skompilowana do JavaScript (GWT) lub natywnych plików binarnych (GCJ). I odwrotnie, JavaScript może działać na JVM (nosorożcu), nawet jeśli nie został wymieniony wśród kandydatów. Istotą języków programowania jest czytelna abstrakcja sposobu wykonywania programów.
back2dos
0

Nie ma wyraźnego lidera - Scala, Clojure i Groovy wydają się być obecnie bardzo silni (połowa 2012 r.).

Niektóre dane ankiety:

Trudno to jednak zmierzyć - myślę, że ogłoszenia o pracę i indeksy, takie jak TIOBE, są zasadniczo bezużyteczne do przyjęcia nowego języka, ponieważ zależą one przede wszystkim od bardzo opóźnionych wskaźników (przeciętny szef o sprytnych włosach nie zatrudni programisty Clojure, dopóki przynajmniej kilka lat po tym, jak twoi obecni hakerzy Clojure zbudowali niesamowity niesamowity produkt i ostatecznie zdecydowałeś, że musisz powiększyć zespół).

mikera
źródło