Debo confesar que estoy obsesionado con el lenguaje de programación Scala. Tras algo más de un par de años probándolo, y siguiendo de cerca su evolución, estoy convencido de su futuro y productividad.
Me gusta Scala por los siguientes motivos:
Mi objetivo es migrar una aplicación grande, básicamente en Jython (la versión de Python para JVM) y una cantidad menor de Java, en Scala.
A través de ejemplos, ya iré explicando más ventajas.
Me gusta Scala por los siguientes motivos:
- Librerías de calidad, especialmente en frameworks Web y Rest
- Se puede usar la ingente cantidad de librerías Java
- Diseñado para ser totalmente interoperable con Java
- Herramientas de calidad que están mejorando a buen ritmo. Además hay donde elegir (IDEA, Eclipse, Netbeans)
- Regularidad, tiene pocas construcciones pero bastantes potentes
- Inferencia de tipos, que evita tener que especificar información redundante, acercándose a las ventajas de los lenguajes estáticos
- Una comunidad potente. Atrae talento.
- Documentación de calidad. La navegación por las APIs es muy clara.
- Cierta madurez, está en proceso de estabilización. Prueba de ello es que la versión 2.11 no rompe compatibilidad con la 2.10, excepto en algún área ya marcada como experimental en la 2.10.
- Posibilidad de usar programación funcional, que simplifica según que algoritmos.
- Pattern matching.
- Capacidad de definirse sus propios DSLs. Muchas características avanzadas del lenguaje viene dada a través de librerías, en lugar de formar parte del compilador en sí. Esto permite adaptaciones más profundas a las necesidades del proyecto, claro está, para quien tenga conocimientos avanzados del lenguaje,
Mi objetivo es migrar una aplicación grande, básicamente en Jython (la versión de Python para JVM) y una cantidad menor de Java, en Scala.
A través de ejemplos, ya iré explicando más ventajas.