web-dev-qa-db-fra.com

Est-ce que Groovy s'en va?

Je suis sûr que cette question a été posée à plusieurs reprises. Cependant, j'aimerais la poser à nouveau avec l'intention de l'avenir de ces langues.

J'ai d'abord découvert Groovy et j'ai vraiment aimé. Je sentais que la syntaxe était plus simple et qu'elle était beaucoup plus proche de Java et j'ai pu apprendre rapidement Grails .

Ensuite, il y avait Scala , et le cadre Web fonctionnait Lift . J'apprends toujours Scala et je trouve la syntaxe parfois très difficile.

Cependant, je me demande encore quel est l'avenir de Groovy. Quand l'auteur de Groovy dit il n'aurait jamais créé groovy s'il connaissait Scala, alors je me demande s'il y a du futur. Bien sûr, Groovy a parcouru un long chemin et Grails est utilisé aujourd'hui par de nombreuses grandes entreprises.

Si l'on devait regarder Grails vs Lift aujourd'hui, Grails serait clairement vainqueur. De plus en plus d'entreprises l'utilisent. Mais étant donné tout ce que j'ai dit jusqu'à présent, je suis curieux de savoir si l'on devrait investir dans Groovy? Est-ce que Groovy s'en va et Scala le meilleur choix? Si le PDG de BMW dit qu'il conduit une Mercedes alors on se demanderait pourquoi ne devrions-nous pas tous conduire Mercedes aussi, non?

(Je comprends si cette question est vraiment large et pourrait être fermée. J'espère cependant en faire un Wiki ouvert pour les autres.)

30
Amir Raminfar

Je ne pense pas que Groovy va disparaître, c'est une entité autonome maintenant. Le framework Grails est construit autour du langage Groovy, ce qui est une bonne raison de rester en vie. Groovy a obtenu son application de tueur.

Je ne dis pas que Grails est le seul projet Groovy vital, Gradle est également très bon. GORM est vraiment pratique. Gant est une belle amélioration par rapport à Ant.

Sans oublier que Groovy/Grails sont désormais sous l'égide de SpringSource et ils sont engagés dans les deux.

Si le PDG de BMW dit qu'il conduit une Mercedes, on se demanderait pourquoi ne devrions-nous pas tous conduire Mercedes aussi, non?

Devinez ce que James Gosling a choisi?

23
Chiron

Ainsi que les commentaires de @The Legend of 1982:

Groovy continuera de rester car c'est l'alternative dynamique à Java avec une syntaxe suffisamment proche de Java pour permettre à de nombreux développeurs de faire le changement (ou à moins y toucher).

  • Grails est constamment dans le top 2 des frameworks chaque fois que Matt Raible effectue ses analyses/tableaux de comparaison de framework web en langage JVM. Il s'agit probablement de l'analyse la plus complète qui soit.

  • GPars est une nouvelle lib/API concurrente qui apporte beaucoup à Groovy les capacités de Scala.

Le problème de vitesse s'améliorera au fil du temps, car Groovy trouvera comment utiliser les astuces de la dynamique invoquée et d'autres compilations.

6
Martijn Verburg

Groovy est une langue très agréable et sous-estimée (même par son propre créateur, comme vous l'avez mentionné). Quant à moi, son rôle dans l'écosystème Java est comme le rôle de Lua dans l'écosystème mondial C/C++. Oui, ce n'est pas si rapide mais néanmoins.

Je serais très triste si groovy mourrait, mais cette feuille de route nous dit en fait que ce n'est pas si mal.

En fait, Groovy est un langage très agréable, soigné et expressif. Quant à Scala, je crois que Groovy et Scala sont juste dans des niches différentes.

3
shabunc

Ne pas faire tomber l'excellence générale de Groovy ou Ruby, mais plus de 90% du trafic Web est destiné à des sites écrits en PHP ou certains Java framwork).

Je ne sais pas où vous avez obtenu le "Grails est utilisé par de nombreuses grandes entreprises", c'est un peu comme dire "toutes les sociétés Fortune 500 utilisent Python", ce qui est vrai, mais elles n'utilisent pas python pour tout ce qui est critique pour l'entreprise.

Ils ont raison de ne pas utiliser Grails, Rails etc., ils sont parfaits pour les petits sites soignés, mais ils ne se développent pas bien. De plus, la plupart des grandes entreprises ont des systèmes étroitement interconnectés, et les principaux Le défi lors de la création d'applications Web tourne autour de la façon de se connecter à tous les autres systèmes qui fournissent ou consomment vos données - le codage par convention ne fonctionne tout simplement pas dans cet espace.

Groovy, le principal concurrent du langage, est en fait JPython qui opère dans le même espace (script sur une machine virtuelle Java) et est utilisé pour le même genre de choses (tests automatisés, builds automatisés, etc.).

3
James Anderson

Les performances de Groovy 2.0 placent Groovy maintenant dans une ligue très proche de Java, voir http://Java.dzone.com/articles/groovy-20-performance-compared L'indice de référence de cet article est très très difficile, mais je travaille maintenant sur un nouveau benchmark pour Groovy 2.1 basé sur celui de Robert Hundt (https://days2011.scala-lang.org/sites/days2011/files/ws3-1-Hundt.pdf) fait pour comparer les performances de Google Go avec d'autres langues. J'ai besoin de 2-3 semaines avant d'avoir fini d'écrire l'article, mais les mesures semblent très bonnes jusqu'à présent. Groovy2.1 avec @CompileStatic et JDK7 a à peu près les mêmes performances que Java avec JDK6 (!).

Je pense que Groovy rivalisera plus avec Kotlin et peut-être Ceylan plutôt qu'avec Scala. Scala est plus un langage de recherche académique (quoique très intéressant) et pas tant qu'un langage pour faire le travail comme Groovy et Kotlin. Si vous manquez simplement des mixins, des méthodes d'extension, de vraies fermetures et les choses dans Java c'est une grande étape que vous devez faire pour obtenir ceci. La syntaxe de Groovy est très proche de Java qui pense que c'est un vrai argument de vente par rapport à Kotlin.

2
OlliP