Me pregunto por qué pensaría que el desarrollo de un lenguaje en la JVM afectaría el desarrollo continuo de otro idioma en la JVM.
Últimamente hemos visto una gran explosión de idiomas en la JVM, incluidos Kotlin y Ceilán, así como puertos de otros idiomas para la JVM. Cada idioma satisface a una audiencia en particular y todos están siendo desarrollados independientemente.
En cuanto a Scala, Clojure y Groovy, son tres idiomas muy diferentes que atraerán a personas completamente diferentes por diferentes motivos. He construido sistemas de producción con los tres.
En mi empresa anterior, elegimos Groovy porque queríamos un lenguaje similar a Java que fuera menos detallado y a nuestro equipo le gustaban los lenguajes dinámicos de proyectos anteriores. Para nosotros fue un “mejor Java” y fue lo suficientemente rápido para nuestras necesidades, al crear un servicio back-end Spring / Hibernate (para una aplicación de escritorio que usaba Adobe AIR).
- ¿Cuál es el futuro de SAS en la India?
- ¿Qué es lo que realmente bloquea / ralentiza el uso de Internet de las cosas?
- ¿Podríamos usar mini agujeros de gusano para crear la comunicación ‘FTL’?
- Para una búsqueda de patente de la técnica anterior, ¿es seguro utilizar un motor de búsqueda como Google? ¿Qué tan confidenciales son mis búsquedas?
- ¿Cómo podrían ser los próximos Google y Facebook?
En mi empresa actual, inicialmente usamos Scala para un proyecto que requería mucha manipulación de XML y se beneficiaría de la capacidad de Scala para crear DSL (lenguajes específicos de dominio). También necesitábamos rendimiento, por lo que consideramos que sería preferible utilizar un lenguaje compilado estrictamente escrito. Scala encajaba perfectamente con ese proyecto.
Luego, comenzamos a usar Clojure para áreas donde un lenguaje dinámico tenía más sentido, al tratar con conjuntos de datos grandes y heterogéneos. No necesitábamos una tipificación estricta aquí y queríamos algo más puramente funcional en estilo que Scala.
Tres idiomas, tres objetivos diferentes, tres audiencias diferentes.