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.)
Réponses:
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.
Devinez ce que James Gosling a choisi?
la source
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.
la source
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.
la source
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.).
la source
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.
la source