Esiste un chiaro leader tra le lingue basate su JVM? [chiuso]


9

Qual è lo stato attuale di questi progetti e uno (o due) è emerso come un chiaro leader?

Per dimostrare le mie motivazioni per porre questa domanda, rimetti la tua mente indietro di diversi anni. Prototype e jQuery si scontrano con altri giocatori come MooTools che lottano per sopravvivere. Velocemente oggi, e il consenso generale è che jQuery è la migliore libreria JavaScript per tutti gli usi.

È successo qualcosa di simile negli ultimi anni con queste lingue basate su JVM? Alcune lingue sono cadute in rovina e abbandono? Da quello che ho letto, sembra che Scala sia certamente ben preparato per diventare il preferito, ma poi, quasi tutto ciò che ho letto ha diversi anni.


Ho fatto un po 'più di ricerca - ho avuto l'idea di controllare il volume di ricerca nel corso degli anni utilizzando Google Trends . Sembra che Jython e JRuby abbiano relativamente poco interesse mentre il volume di Groovy sta diminuendo e il volume di Scala è costante (nella peggiore delle ipotesi) o in lieve aumento (nella migliore delle ipotesi). È una valutazione accurata?


E sì, mi riferisco a linguaggi non Java sulla JVM come Jython, JRuby, Groovy, Scala, Clojure, ecc.


8
Una cosa importante da ricordare è che gli utenti di JRuby cercheranno spesso Ruby ogni volta che si chiederanno cose relative a sintassi, modi di dire, esempi, ecc. Quindi è difficile confrontare tag o tendenze poiché Scala e Groovy si riferiscono a un linguaggio e un'implementazione mentre JRuby semplicemente si riferisce a un'implementazione.
Deckard,

10
Definisci "leader" :) Nel puro senso di "# di volte usato", Java stesso è il chiaro leader
Heiko Rupp,

4
Mi aspetto che sia ancora Java :)

4
In effetti, Java è un chiaro leader nella JVM.
Chirone,

4
@jprete: rinogo ha elencato le lingue, ma Mark Trapp le ha cancellate e ha cambiato la domanda.
Jonas,

Risposte:


12

Nessuna

Nessuno ha la penetrazione del mercato necessaria per dichiararli come "vincitori" nella gara (se ce n'è uno) per trovare un linguaggio JVM migliore.

Verifica dei lavori disponibili (su careers.stackoverflow.com) come indicatore del mercato per le persone con queste competenze.

1 lavoro groovy .
4 lavori scala .
21 lavori C # .
22 lavori rubini .
29 lavori in pitone .
34 lavori php .
39 lavori java .
0 per JRuby, Jython o Grails.

Ricerca effettuata il 23/04/2011, utilizzando il codice di avviamento postale 10001 e un raggio di 150 miglia


Sarebbe interessante vedere come questi sono ponderati iniziando lo stipendio (o anche il suo intervallo). Ma poi di nuovo, questo ti atterrerebbe esattamente nel territorio fuori tema.
GregC,

3
Che ne dici di clojure?
alternativa il

2
Le carriere hanno il tipo di penetrazione nel mercato per essere un campionamento ragionevole? La lista coperta mostra 549 lavori (sembra un elenco totale?).
Steven Evers,

1
@SnOrfus: Forse no, è stato il primo che ho continuato a cercare, poiché nella mia esperienza tutti i lavori sono relativamente di alta qualità e ben definiti con tag e focus appropriati. Riproverò questi risultati su molti altri siti.
Josh K,

@Josh K. È una decisione ragionevole. +1.
Steven Evers,

7

Un anno fa è stata effettuata una valutazione delle dimensioni della community di Stack Overflow e Scala ha ottenuto il comando, con Groovy e Clojure molto vicini. È possibile utilizzare il dump disponibile gratuitamente per eseguire query simili.

Ad ogni modo, non vedo nessun chiaro vincitore nella terra di JVM. Prima di tutto, c'è una grande folla che ama i linguaggi dinamici e non andrà con Scala. Quindi, c'è la folla statica che non andrà con linguaggi dinamici come Groovy.

Ma hanno tutti PICCOLI seguaci, rispetto a qualsiasi delle grandi lingue là fuori. Mancano di massa critica per garantire un successo a lungo termine, che sarebbe il segno di un vero vincitore.


1
+1 per il link utile - ma aggiungerei che il punto sui linguaggi JVM è che non hanno bisogno di massa critica allo stesso modo degli ecosistemi linguistici completamente indipendenti - poiché possono sfruttare tutte le librerie e gli strumenti Java. Direi che Clojure, Scala, JRuby e Groovy sono già tutti ben oltre la massa critica a causa di ciò.
Mikera,

3

La domanda più correlata è: Come incoraggi la tua organizzazione a passare da Java a Scala?

Scala offre un diverso paradigma di programmazione e sintassi, mentre Groovy offre una curva di apprendimento bassa per gli sviluppatori Java. Entrambi hanno il loro posto.

Commenti correlati della community: /programming/3644251/what-are-your-experiences-developing-in-scala-lift/3646365#3646365

A giudicare dai commenti positivi, direi che Scala è una buona scommessa.

Penso anche che uno strumento intuitivo che non causi molte domande sia un indicatore positivo, quindi il numero di domande su Stack Overflow non è una grande metrica.


3
I sentimenti non danno una risposta. Hai fatti e riferimenti ?

2
Mark è un fantastico moderatore!
GregC,

Grazie, ma ora la tua risposta non risponde alla domanda. La domanda è cercare informazioni specifiche sullo stato dei progetti, non i tuoi pensieri su quando usare l'uno o l'altro. La tua formulazione originale ha risposto alla domanda, aveva solo bisogno di riferimenti per eseguirne il backup.

@Mark Trapp: i tuoi sforzi sono i benvenuti. Devo concentrarmi un po 'di più sulla sostanza.
GregC,

3

Questa domanda si basa sul presupposto completamente fuori luogo, secondo cui le lingue JVM sono alternative l'una all'altra. Stai disegnando un'analogia con i toolkit JS, che usano tutti la stessa lingua, hanno tutti lo stesso pubblico, tutti hanno lo stesso uso. Nel caso dei linguaggi JVM, l'unica cosa in comune che hanno tutti è che sono implementati usando JVM. A parte questo è il più ampio spettro di lingue possibile: statico, dinamico, funzionale, oggettivo ...

Ad esempio, è sbagliato supporre che Jython sia un'alternativa a Scala o JRuby; è molto più un'alternativa a CPython, IronPython o PyPy.

Per quanto riguarda l' attuale risposta più votata , si presume anche che la descrizione del lavoro parlerà dei dettagli di implementazione. In realtà, anche se un'azienda utilizza Jython o JRuby, la descrizione del lavoro richiederà comunque l'esperienza Python o Ruby. Jython è conforme alle specifiche del linguaggio, quindi Jython è Python , simile a JRuby è Ruby .


+1. Ottimo punto Non esiste un "linguaggio basato su JVM". Java stesso può essere compilato in JavaScript (GWT) o binari nativi (GCJ). Al contrario JavaScript può essere eseguito su JVM (rinoceronte), anche se non è stato elencato tra i candidati. Il punto centrale dei linguaggi di programmazione è avere un'astrazione gestibile su come vengono eseguiti i programmi.
back2dos,

0

Non c'è un leader chiaro - Scala, Clojure e Groovy sembrano essere molto forti al momento (metà 2012).

Alcuni dati del sondaggio:

È difficile da misurare però - penso che le offerte di lavoro e gli indici come TIOBE siano essenzialmente inutili per l'adozione di nuove lingue poiché dipendono principalmente da indicatori molto in ritardo (il tuo capo medio dai capelli a punta non assumerà uno sviluppatore Clojure fino almeno a un un paio d'anni dopo che i tuoi attuali hacker Clojure hanno creato un prodotto fantastico e hai finalmente deciso che devi far crescere il team).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.