Groovy sta andando via? [chiuso]


30

Sono sicuro che questa domanda è stata posta molte volte. Tuttavia, mi piace chiederlo di nuovo con l'intenzione di qual è il futuro di queste lingue.

Mi è stato presentato per la prima volta Groovy e mi è piaciuto molto. Ho sentito che la sintassi era più semplice ed era molto più vicina a Java e sono stato in grado di imparare rapidamente Grails .

Poi c'era Scala , e il telaio della rete funziona con Lift . Sto ancora imparando Scala e trovo la sintassi molto difficile a volte.

Tuttavia, mi chiedo ancora qual è il futuro di Groovy. Quando l'autore di Groovy dice che non avrebbe mai creato groovy se avesse saputo di Scala, allora mi chiedo se c'è un futuro. Naturalmente Groovy ha fatto molta strada e Grails è oggi utilizzato da molte grandi aziende.

Se uno dovesse guardare Grails vs Lift oggi, allora Grails sarebbe il chiaro vincitore. Altre aziende lo stanno usando. Ma dato tutto ciò che ho detto finora, sono interessato a sapere se si dovrebbe investire in Groovy? Groovy sta andando via e Scala è la scelta migliore? Se il CEO della BMW dice di guidare una Mercedes, allora ci si potrebbe chiedere perché non dovremmo guidare anche noi Mercedes, giusto?

(Capisco se questa domanda è davvero ampia e potrebbe essere chiusa. Spero comunque di renderla un Wiki aperto per gli altri.)


1
Se uno dovesse guardare Grails vs Lift oggi, allora Grails sarebbe il chiaro vincitore. Dice chi?
Mahmoud Hossam,

Lo stavo solo facendo per popolarità. Grails ha x1000 follower e Lift ha solo x200ish su stackoverflow.
Amir Raminfar,

Forse sollevare è più facile? ha una migliore documentazione? o forse Grails è in circolazione da più tempo dell'ascensore?
Mahmoud Hossam,

3
Sarebbe più giusto confrontare Grails con Scala + Play Framework. Play Framework può essere utilizzato anche con Java ed è ispirato a Ruby on Rails.
Jonas,

3
"Se uno dovesse guardare Grails vs Lift oggi, allora Grails sarebbe il chiaro vincitore" , hai detto 2 anni fa, ma gioca! 2 ha facilmente soppiantato Lift come il principale framework web basato su Scala, ed è strade davanti a Grails (IMHO).
Vorg van Geir,

Risposte:


23

Non penso che Groovy scompaia, è un'entità autosufficiente ora. Il framework Grails è costruito attorno al linguaggio Groovy, che è una buona ragione per rimanere in vita. Groovy ha ottenuto la sua applicazione killer.

Non sto dicendo che Grails sia l'unico progetto vitale di Groovy, anche Gradle è abbastanza buono. GORM è davvero utile. Gant è un bel miglioramento rispetto alla formica.

Per non parlare del fatto che Groovy / Grails sono ora sotto l'ombrello di SpringSource e si impegnano per entrambi.

Se il CEO della BMW dice di guidare una Mercedes, allora ci si potrebbe chiedere perché non dovremmo guidare anche noi Mercedes, giusto?

Indovina cosa ha scelto James Gosling?


Gradle non è più open source! _!
Formica,

1
Ciò che conta davvero è il linguaggio di base e le sue librerie di base. Non puoi fare niente di meglio di Groovy. Il linguaggio di base è semplice e dinamico, è veloce e le librerie Java come Apache ecc. Sono migliori che in altre lingue. È la miglior lingua in circolazione e per questo non sta andando via. Plugin e Grails non è ciò che conta: il mondo dei linguaggi dinamici come PHP sa già ciò che conta (proprio come ho detto). E c'è Tomcat e Jboss. Ora vai a controllare Ruby, è uno scherzo! È peggio di .net! Ora vai a controllare Python e scopri come gestire gli errori nel codice di rete.
Andrew Smith,

Hai ragione .. Gradle sta diventando sempre più popolare e usa gli script Groovy ..
The Coder,

6

Oltre ai commenti di @The Legend of 1982:

Groovy continuerà a rimanere in giro poiché è l'alternativa dinamica a Java con sintassi abbastanza vicina a Java da consentire a molti sviluppatori di effettuare il passaggio (o almeno dilettarsi).

  • Grails è costantemente nei primi 2 framework ogni volta che Matt Raible esegue le sue enormi tabelle / analisi comparative di framework web in linguaggio JVM. La sua è probabilmente l'analisi più completa là fuori.

  • GPars è una nuova libreria / API di concorrenza che porta Groovy molto più in alto delle capacità di Scala.

Il problema della velocità migliorerà nel tempo man mano che Groovy scopre come utilizzare i trucchi del compilatore invokedynamic e di altro tipo.


"Grails è costantemente tra i primi 2 framework" ma i backend basati su PHP non sono considerati un "framework", anche se questo è ciò che la stragrande maggioranza delle aziende utilizza ancora.
Vorg van Geir,

3

Groovy è un linguaggio molto carino e sottovalutato (anche dal suo stesso creatore, come hai già detto). Per quanto mi riguarda, il suo ruolo nell'ecosistema Java è come il ruolo di Lua nell'ecosistema mondiale C / C ++. Sì, non è così veloce ma comunque.

Sarò molto triste se morirà Groovy, ma questa tabella di marcia in realtà ci dice che non è poi così male.

In realtà, Groovy è un linguaggio molto bello, pulito ed espressivo. Per quanto riguarda Scala, credo che Groovy e Scala siano solo in diverse nicchie.


3

Non per battere l'eccellenza generale di Groovy o di Ruby, ma oltre il 90% del traffico web è indirizzato a siti scritti in PHP o alcuni frammenti Java.

Non so da dove provenga il "Grails è usato da molte grandi aziende", è come dire "tutte le 500 aziende che usano Python", il che è vero, ma non usano Python per qualsiasi attività aziendale.

Hanno ragione a non usare Grails, Rails ecc. Sono perfetti per i piccoli siti ordinati, ma non si adattano bene. Inoltre, la maggior parte delle grandi aziende ha sistemi interconnessi in modo intricato, e la sfida principale nella creazione di applicazioni Web ruota attorno al modo in cui connettersi a tutti gli altri sistemi che forniscono o consumano i tuoi dati: la codifica per convenzione non funziona in questo spazio.

Groovy il principale concorrente del linguaggio è in realtà JPython, che opera nello spazio delle scrofe (Scripting su una JVM) e viene utilizzato per lo stesso tipo di cose (test automatici, build automatizzate ecc.).


1
Guardando in giro, nessuno che conosca usa Groovy in questi giorni e non ci sono annunci di lavoro Groovy che vengono pubblicizzati nella mia zona. Quindi, sicuramente non sembra buono per questo. Sono sicuro che è in uso, ma non è una tecnologia tradizionale qui intorno.
Brian Knoblauch,

1
@Brian Groovy è ancora l'unica scelta possibile se devi usare Grails. (Devo ammettere che Grails viene sempre più soppiantato da utenti più puliti come Play! 2.)
Vorg van Geir,

@James Non dimenticare Eclipse come Groovy-killer per scripting JVM, test automatici e build, ecc.
Vorg van Geir,

Ho incontrato un negozio locale usando Groovy ora! Tuttavia, devo ancora incontrare chiunque usi Grails.
Brian Knoblauch,

2

Le prestazioni di Groovy 2.0 mettono Groovy ora in una lega molto vicina a Java, vedi http://java.dzone.com/articles/groovy-20-performance-compared Il benchmark in questo articolo è molto approssimativo, ma sono lavorando ora su un nuovo benchmark per Groovy 2.1 basato su quello di Robert Hundt (https://days2011.scala-lang.org/sites/days2011/files/ws3-1-Hundt.pdf) realizzato per confrontare le prestazioni di Google Go con altre lingue. Ho bisogno di 2-3 settimane fino a quando non ho finito di scrivere l'articolo, ma le misurazioni sembrano molto buone finora. Groovy2.1 con @CompileStatic e JDK7 ha circa le stesse prestazioni di Java con JDK6 (!).

Penso che Groovy competerà più con Kotlin e forse con Ceylon piuttosto che con Scala. Scala è più un linguaggio di ricerca accademica (anche se molto interessante) e non tanto una lingua per svolgere il lavoro come Groovy e Kotlin. Se ti mancano semplicemente mixin, metodi di estensione, chiusure vere e cose in Java, è un grande passo che devi fare solo per ottenere questo. La sintassi di Groovy è molto vicina a Java che pensa sia un vero punto di forza rispetto a Kotlin.


4
Mi permetto di non essere d'accordo sul fatto che Scala sia accademica. In realtà è molto produttivo e utile, e attualmente in uso in molti istituti finanziari, su Linkedin, Twitter e così via. In realtà ho provato sia Scala che Groovy qui dove lavoro, e non sceglierei mai Groovy per progetti che superano una lieve soglia di complessità.
Andrea

1
Proprio la scorsa settimana è emerso un grave bug nella modalità Groovy 2.1 compilata staticamente . Puoi ottenere velocità con i bug (ovvero Groovy statico) oppure puoi ottenere affidabilità ma slooooooow (ovvero Groovy compilato dinamicamente), ma non puoi ottenere sia velocità che affidabilità. I linguaggi di programmazione ad effetto quantico non servono a nessuno.
Vorg van Geir,

1
Groovy è un linguaggio messo sopra Java (cioè aggiunge alcune funzionalità a Java). Sistemi abbastanza complessi hanno ben costruito con Java. Quindi non penso che tu abbia bisogno di un linguaggio molto sofisticato per scrivere applicazioni complesse. Ho aggiunto diversi bug del compilatore Groovy alla base bug di Groovy e credo che Scala abbia un compilatore di qualità migliore. Ma non penso che tu abbia bisogno di Scala perché l'applicazione è impegnativa. La soluzione è nella progettazione e nella competenza del dominio problematico, non tanto nella lingua.
OlliP
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.