¿Groovy se va? Cuando el autor de Groovy dice que nunca hubiera creado Groovy si supiera sobre Scala, entonces me pregunto si hay un futuro en absoluto.

Revelación completa primero: soy la persona que lidera el proyecto Groovy y estoy trabajando para VMware.

Groovy definitivamente no se va a ir pronto , por suerte.
Tenemos un equipo bastante activo de confirmadores y colaboradores que trabajan en Groovy, entregando lanzamientos regulares, ayudando a los usuarios en las listas de correo, etc.
VMware recientemente aumentó su participación al permitirnos contratar a otro desarrollador Groovy a tiempo completo, y también tenemos un equipo de Eclipse trabajando en el soporte en el IDE.
Entonces, en términos de recursos (encargados, contribuyentes, etc.), el proyecto está muy bien y, en términos de actividad, el proyecto sigue progresando y mejorando lanzamiento tras lanzamiento, entregando nuevas características, etc.

Además, el ecosistema alrededor de Groovy ha aumentado significativamente en los últimos años gracias al éxito de proyectos como la herramienta de automatización de compilación Gradle , el marco de prueba Spock , el marco Griffon para aplicaciones de escritorio ricas, y la lista continúa (incluidos los muy destacados Grails marco web).

Es curioso cómo esas famosas palabras del fundador original James Strachan resuenan. James estuvo involucrado en los primeros dos años esencialmente, y luego trabajó en otros proyectos. Di un paso adelante y tomé la iniciativa en el proyecto hace 6-7 años. Si piensas en esa declaración que hizo (que es utilizada por los fanáticos de scala contra Groovy) e intentas ponerla en perspectiva, no tiene mucho sentido:

Imagina que algo así como JPA en su estado actual hubiera existido hace 10 años: ¿crees que los chicos de Hibernate habrían creado Hibernate? Lo más probable es que no. Pero no hace que Hibernate sea menos valioso, no vale la pena investigarlo o se considera que desaparece.

Esa es la misma historia con Groovy y Scala, por así decirlo. Ambos tienen sus puntos dulces ciertamente. No es porque el creador original dejó el proyecto Groovy, y luego años después comenzó a disfrutar de Scala, sino que significa que Groovy se irá o algo por el estilo.

Groovy y Scala tienen sus respectivos puntos dulces. Pero creo que Groovy es mucho más fácil de comenzar para los desarrolladores de Java, por ejemplo. Se ha utilizado en varias configuraciones de misión crítica, y es muy exitoso y muy apreciado por su vasta población de usuarios (aproximadamente medio millón de desarrolladores).

No creo que Groovy se vaya a ir pronto.

Ciertamente no tiene el zumbido que lo rodea Scala y podemos especular todo el día sobre las razones de eso. En mi opinión, algunos son:

  • Algunas personas encuentran el nombre tonto.
  • Existe la percepción de que es “solo” un lenguaje de secuencias de comandos útil para material ligero especializado que se encuentra entre grandes componentes escritos en lenguajes serios.
  • Existe la percepción de que es un parche de mono sobre Java donde Scala es un lenguaje formal completo.
  • Nunca se dio cuenta de los hipsters porque está muy relacionado con Java.
  • Grails es / fue un gran impulsor de la adopción de Groovy y los desarrolladores de Grails superaron enormemente a los desarrolladores que no eran de Grails entre los usuarios de Groovy. Esto llevó a la percepción de que Groovy era poco más que un lenguaje para crear aplicaciones de Grails.
  • Había mucho FUD sobre Groovy siendo lento.

Estos están casi 100% equivocados pero parecen endémicos.

Ahora veamos por qué Groovy no va a ninguna parte …

Spock, Gradle y GPars son las joyas de la corona de Groovy. Estoy más familiarizado con el primero de estos y bastante evangélico sobre lo maravilloso que es. Incluso si está escribiendo su código de producción en Java, creo que es una locura quedarse con JUnit en lugar de usar Spock. El zumbido alrededor de Spock crece lentamente fuera del gueto de Groovy y espero que explote.

Gradle ahora está desplazando otras herramientas de compilación en muchos lugares y se ha convertido en parte del kit de herramientas estándar para crear aplicaciones de Android. Esa es una gran cantidad de nuevos usuarios que se exponen a una faceta del ecosistema Groovy, incluso si no lo están usando para las propias aplicaciones.

La adopción de Grails sigue creciendo a pesar del tipo de aplicaciones web monolíticas que generalmente es adecuada para no ser el sabor del mes en este momento. Un número decente de grandes compañías serias lo está utilizando para hacer grandes cosas serias. Algunas compañías interesantes y emocionantes como Netflix lo están utilizando para hacer cosas asombrosas y muy serias.

Groovy está madurando como lenguaje. Le insto a que mire algunas de las cosas que Luke Daley está haciendo con Ratpack para ver ejemplos de cómo Groovy solía construir código realmente elegante, completamente compilado estáticamente sin ninguna de las ceremonias sintácticas de Java. Ha habido grandes avances con la compilación estática y la inferencia de tipos en las versiones de idiomas recientes que realmente hacen que la idea de que Groovy sea un lenguaje de juguete sea risible.

Todos los idiomas tienen su tiempo al sol, pero creo con confianza que los mejores años de Groovy están por delante.