Est-ce que Groovy s'en va? [fermé]

30

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 rapidement apprendre les Grails .

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

Cependant, je me demande encore quel est l'avenir de Groovy. Quand l'auteur de Groovy dit qu'il n'aurait jamais créé de groovy s'il avait connu Scala, alors je me demande s'il y a un avenir. 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? Groovy s'en va et Scala est le meilleur choix? Si le PDG de BMW dit qu'il conduit une Mercedes, 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.)

Amir Raminfar
la source
1
Si l'on devait regarder Grails vs Lift aujourd'hui, Grails serait clairement vainqueur. Dit qui?
Mahmoud Hossam
Je faisais juste par popularité. Grails a x1000 followers et Lift n'a que x200ish sur stackoverflow.
Amir Raminfar
Peut-être que l'ascenseur est plus facile? a une meilleure documentation? ou peut-être que Grails existe depuis plus longtemps que l'ascenseur?
Mahmoud Hossam
3
Il serait plus juste de comparer Grails avec Scala + Play Framework. Play Framework peut également être utilisé avec Java et s'inspire de Ruby on Rails.
Jonas
3
"Si l'on devait regarder Grails vs Lift aujourd'hui, Grails serait clairement vainqueur" , vous avez dit il y a 2 ans, mais jouez! 2 a facilement supplanté Lift en tant que principal framework Web basé sur Scala et a une longueur d'avance sur Grails (IMHO).
Vorg van Geir

Réponses:

23

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?

Chiron
la source
Gradle n'est plus open source! _!
Ant's
1
Ce qui compte vraiment, c'est le langage de base et ses bibliothèques de base. Vous ne pouvez rien faire de mieux que Groovy. Le langage de base est facile et dynamique, il est rapide, et les bibliothèques java comme apache, etc. sont meilleures que dans d'autres langues. C'est la meilleure langue du monde et pour cette raison elle ne s'en va pas. Les plugins et les Grails ne sont pas ce qui compte - le monde des langages dynamiques comme PHP sait déjà ce qui compte (comme je l'ai dit). Et il y a tomcat et jboss. Maintenant, allez voir Ruby, c'est une blague! C'est pire que .net! Maintenant, allez vérifier Python et découvrez comment gérer les erreurs dans le code réseau.
Andrew Smith
Vous avez raison .. Gradle est de plus en plus populaire qui utilise des scripts Groovy ..
The Coder
6

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 au moins de s'y essayer).

  • 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 compilation invoquées dynamiques et autres.

Martijn Verburg
la source
"Grails est constamment dans le top 2 des frameworks" mais les backends basés sur PHP ne sont pas considérés comme un "framework", même si c'est ce que la grande majorité des entreprises utilisent encore.
Vorg van Geir
3

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.

shabunc
la source
3

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

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 le python pour quoi que ce soit critique pour l'entreprise.

Ils ont raison de ne pas utiliser les Grails, les 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 le défi majeur 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.).

James Anderson
la source
1
En regardant autour de moi, personne que je connais n'utilise Groovy ces jours-ci et il n'y a pas d'offres d'emploi Groovy annoncées dans ma région. Donc, ça n'a pas l'air bien pour ça. Je suis sûr qu'il est utilisé, mais ce n'est pas une technologie grand public ici.
Brian Knoblauch
1
@Brian Groovy reste le seul choix possible si vous avez besoin d'utiliser Grails. (Tho certes, Grails est de plus en plus supplanté par des joueurs plus propres comme Play! 2.)
Vorg van Geir
@James N'oubliez pas Eclipse en tant que tueur de Groovy pour les scripts JVM, les tests et les builds automatisés, etc.
Vorg van Geir
J'ai rencontré un magasin local en utilisant Groovy maintenant! Cependant, je n'ai pas encore rencontré quelqu'un qui utilise Grails.
Brian Knoblauch
2

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 La référence dans cet article est très très approximative, mais je suis travailler 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 une langue de recherche académique (bien que très intéressante) et pas vraiment une langue pour faire du travail comme Groovy et Kotlin. Si vous manquez simplement des mixins, des méthodes d'extension, de vraies fermetures et des choses en Java, c'est un grand pas que vous devez faire pour obtenir cela. La syntaxe de Groovy est très proche de Java qui pense être un véritable argument de vente par rapport à Kotlin.

OlliP
la source
4
Je vous prie de ne pas être d'accord sur le fait que Scala soit académique. Il est en fait très productif et utile, et actuellement utilisé dans de nombreuses institutions financières, sur Linkedin, Twitter et ainsi de suite. En fait, j'ai essayé à la fois Scala et Groovy ici où je travaille, et je ne choisirais jamais Groovy pour des projets au-dessus d'un léger seuil de complexité.
Andrea
1
Pas plus tard que la semaine dernière, un bug sérieux dans le mode de compilation statique de Groovy 2.1 est apparu. Vous pouvez obtenir de la vitesse avec des bugs (c'est-à-dire Groovy statique) ou vous pouvez obtenir la fiabilité mais slooooooow (c'est-à-dire Groovy compilé dynamiquement), mais vous ne pouvez pas obtenir à la fois la vitesse ET la fiabilité. Les langages de programmation à effet quantique ne sont utiles à personne.
Vorg van Geir
1
Groovy est un langage mis au dessus de Java (c'est-à-dire qui ajoute quelques fonctionnalités à Java). Des systèmes assez complexes ont été construits avec Java. Je ne pense donc pas que vous ayez besoin d'un langage très sophistiqué pour écrire des applications complexes. J'ai ajouté plusieurs bogues du compilateur Groovy à la base de bogues de Groovy et je crois que Scala a le compilateur de meilleure qualité. Mais je ne pense pas que vous ayez besoin de Scala car l'application est exigeante. La solution réside dans la conception et l'expertise du domaine problématique, pas tant dans la langue.
OlliP