¿Groovy se va? [cerrado]

30

Estoy seguro de que esta pregunta se ha hecho muchas veces. Sin embargo, me gustaría volver a preguntarlo con la intención de cuál es el futuro de estos idiomas.

Me presentaron por primera vez a Groovy y realmente me gustó. Sentí que la sintaxis era más simple y estaba mucho más cerca de Java y pude aprender rápidamente Grails .

Luego estaba Scala , y el marco web de trabajo de elevación . Todavía estoy aprendiendo Scala y a veces encuentro la sintaxis muy difícil.

Sin embargo, todavía me pregunto cuál es el futuro de Groovy. Cuando el autor de Groovy dice que nunca habría creado Groovy si supiera sobre Scala, entonces me pregunto si hay un futuro en absoluto. Por supuesto, Groovy ha recorrido un largo camino y Grails es utilizado hoy por muchas grandes empresas.

Si uno mirara a Grails vs Lift hoy, entonces Grails sería un claro ganador. Más empresas lo están utilizando. Pero dado todo lo que he dicho hasta ahora, ¿estoy interesado en saber si uno debería invertir en Groovy? ¿Groovy se va y Scala es la mejor opción? Si el CEO de BMW dice que conduce un Mercedes, uno se preguntaría por qué no deberíamos todos conducir Mercedes también, ¿verdad?

(Entiendo si esta pregunta es realmente amplia y podría cerrarse. Sin embargo, espero que sea una Wiki abierta para otros).

Amir Raminfar
fuente
1
Si uno mirara a Grails vs Lift hoy, entonces Grails sería un claro ganador. ¿Dice quién?
Mahmoud Hossam
Solo lo estaba haciendo por popularidad. Grails tiene x1000 seguidores y Lift solo tiene x200ish en stackoverflow.
Amir Raminfar
¿Quizás levantar es más fácil? tiene mejor documentación? o tal vez Grails ha estado alrededor por más tiempo que el ascensor?
Mahmoud Hossam
3
Sería más justo comparar Grails con Scala + Play Framework. Play Framework también se puede usar con Java y está inspirado en Ruby on Rails.
Jonas
3
"Si uno mirara a Grails vs Lift hoy, entonces Grails sería un claro ganador" , dijiste hace 2 años, ¡pero juega! 2 ha suplantado fácilmente a Lift como el marco web líder basado en Scala, y está muy por delante de Grails (en mi humilde opinión).
Vorg van Geir

Respuestas:

23

No creo que Groovy vaya a desaparecer, ahora es una entidad autosuficiente. El marco de Grails se basa en el lenguaje Groovy, que es una buena razón para mantenerse con vida. Groovy obtuvo su aplicación asesina.

No digo que Grails sea el único proyecto vital de Groovy, Gradle también es bastante bueno. GORM es realmente útil. Gant es una buena mejora sobre Ant.

Sin mencionar que Groovy / Grails ahora están bajo el paraguas de SpringSource y están comprometidos con ambos.

Si el CEO de BMW dice que conduce un Mercedes, uno se preguntaría por qué no deberíamos todos conducir Mercedes también, ¿verdad?

¿Adivina qué eligió James Gosling?

Quirón
fuente
¡Gradle ya no es de código abierto! _!
Ant's
1
Lo que realmente importa es el lenguaje central y sus bibliotecas principales. No puedes hacer nada mejor que Groovy. El lenguaje central es fácil y dinámico, es rápido, y las bibliotecas de Java como apache, etc. son mejores que en otros idiomas. Es el mejor idioma y por eso no va a desaparecer. Plugins y Grails no es lo que importa: el mundo de los lenguajes dinámicos como PHP ya sabe lo que importa (como dije). Y hay tomcat y jboss. Ahora ve y mira a Ruby, ¡es una broma! ¡Es peor que .net! Ahora ve y comprueba Python y descubre cómo manejar los errores en el código de red.
Andrew Smith
Tienes razón ... Gradle se está volviendo más popular que usa scripts Groovy ...
The Coder
6

Además de los comentarios de @The Legend of 1982:

Groovy continuará, ya que es la alternativa dinámica a Java con una sintaxis lo suficientemente cercana a Java como para permitir que muchos desarrolladores hagan el cambio (o al menos incursionen).

  • Grails está constantemente en los 2 principales marcos cada vez que Matt Raible hace sus masivos gráficos / análisis de comparación de marcos web en lenguaje JVM. El suyo es probablemente el análisis más completo que existe.

  • GPars es una nueva biblioteca / API de concurrencia que hace que Groovy aumente las capacidades de Scala allí.

El problema con la velocidad mejorará con el tiempo a medida que Groovy descubra cómo usar los trucos del invocador dinámico y otros compiladores.

Martijn Verburg
fuente
"Grails está constantemente en los 2 marcos principales", pero los backends basados ​​en PHP no se consideran un "marco", aunque eso es lo que la gran mayoría de las empresas todavía usan.
Vorg van Geir
3

Groovy es un lenguaje muy agradable y subestimado (incluso por su propio creador, como has mencionado). En cuanto a mí, su papel en el ecosistema de Java es como el papel de Lua en el ecosistema mundial C / C ++. Sí, no es tan rápido, pero de todos modos.

Estaré muy triste si Groovy va a morir, pero esta hoja de ruta en realidad nos dice que no es tan malo.

En realidad, Groovy es un lenguaje muy agradable, ordenado y expresivo. En cuanto a Scala, creo que Groovy y Scala están en nichos diferentes.

shabunc
fuente
3

No para golpear la excelencia general de Groovy o Ruby, sino que más del 90% del tráfico web se dirige a sitios escritos en PHP o algún marco de Java.

No sé de dónde sacaste el "Grails es usado por muchas grandes empresas", esto es más o menos como decir "todas las compañías de Fortune 500 usan Python", lo cual es realmente cierto, pero no usan Python para ningún negocio crítico.

Tienen razón en no usar Grails, Rails, etc. Son excelentes para sitios pequeños y limpios, pero no se adaptan bien. Además, la mayoría de las grandes empresas tienen sistemas intrincadamente interconectados, y el mayor desafío al crear aplicaciones web gira en torno a cómo conectarse a todos los demás sistemas que proporcionan o consumen sus datos: la codificación por convención simplemente no funciona en este espacio.

Groovy, el principal competidor del lenguaje, es en realidad JPython, que opera en el mismo espacio (Scripting en una JVM) y se utiliza para el mismo tipo de cosas (pruebas automatizadas, compilaciones automatizadas, etc.).

James Anderson
fuente
1
Mirando a mi alrededor, nadie que conozco usa Groovy en estos días y no hay anuncios de trabajo de Groovy que se anuncien en mi área. Entonces, seguro que no se ve bien por eso. Estoy seguro de que está en uso, pero no es una tecnología convencional por aquí.
Brian Knoblauch
1
@Brian Groovy sigue siendo la única opción factible si necesita usar Grails. (Tho es cierto que Grails está siendo suplantado cada vez más por nuevos visitantes como Play! 2.)
Vorg van Geir
@James No olvides a Eclipse como un excelente asesino de secuencias de comandos JVM, pruebas y compilaciones automatizadas, etc.
Vorg van Geir
¡Me he encontrado con una tienda local usando Groovy ahora! Sin embargo, todavía no he conocido a nadie que use Grails.
Brian Knoblauch
2

El rendimiento de Groovy 2.0 coloca a Groovy ahora en una liga muy cercana a Java, consulte http://java.dzone.com/articles/groovy-20-performance-compared. El punto de referencia en este artículo es muy, pero difícil. trabajando ahora en un nuevo punto de referencia para Groovy 2.1 basado en el de Robert Hundt (https://days2011.scala-lang.org/sites/days2011/files/ws3-1-Hundt.pdf) para comparar el rendimiento de Google Go con otros idiomas Necesito 2-3 semanas hasta que termine de escribir el artículo, pero las medidas se ven muy bien hasta ahora. Groovy2.1 con @CompileStatic y JDK7 tiene aproximadamente el mismo rendimiento que Java con JDK6 (!).

Creo que Groovy competirá más con Kotlin y tal vez Ceilán que con Scala. Scala es más un lenguaje de investigación académica (aunque muy interesante) y no tanto un idioma para hacer el trabajo como Groovy y Kotlin. Si simplemente le faltan mixins, métodos de extensión, cierres verdaderos y cosas en Java, es un gran paso que debe hacer para obtener esto. La sintaxis de Groovy está muy cerca de Java, lo que cree que es un verdadero punto de venta en comparación con Kotlin.

OlliP
fuente
44
Ruego no estar de acuerdo con que Scala sea académica. En realidad, es muy productivo y útil, y actualmente está en uso en muchas instituciones financieras, en Linkedin, Twitter, etc. De hecho, probé Scala y Groovy aquí donde trabajo, y nunca elegiría Groovy para proyectos que superen un umbral de complejidad moderado.
Andrea
1
La semana pasada apareció un error grave en el modo Groovy 2.1 compilado estáticamente . Puede obtener velocidad con errores (es decir, Groovy estático) o puede obtener confiabilidad, pero de manera lenta (es decir, Groovy compilado dinámicamente), pero no puede obtener tanto la velocidad como la confiabilidad. Los lenguajes de programación de efectos cuánticos no son de utilidad para nadie.
Vorg van Geir
1
Groovy es un lenguaje puesto encima de Java (es decir, agrega algunas características a Java). Se han construido sistemas bastante complejos con Java. Así que no creo que necesite un lenguaje muy sofisticado para escribir aplicaciones complejas. He agregado varios errores del compilador Groovy a la base de errores de Groovy y creo que Scala tiene el compilador de mejor calidad. Pero no creo que necesite Scala porque la aplicación es exigente. La solución está en el diseño y en la experiencia del dominio del problema, no tanto en el lenguaje.
OlliP