Scala
Scala: una combinación de orientación a objetos y programación funcional
Scala
Versátil y ágil. Scala es un lenguaje de programación que combina los paradigmas de orientación a objetos y de programación funcional. Esto permite expresar patrones comunes de forma concisa y segura y adaptarse a cualquier necesidad. Además, Scala es 100% compatible con Java.
Scala surgió en 2001 en los laboratorios de programación de la Escuela Politécnica Federal de Lausanne, y desde entonces su implantación no ha dejado de crecer. Incluso en sectores industriales donde la programación funcional ya es habitual, Scala está desplazando a otros lenguajes relevantes como Erlang. Apple aún ha ido un paso más allá y ha creado Swift, un lenguaje propio que comparte el 90% de las características de Scala.
¿Por qué escoger Scala?
Las principales ventajas de Scala como lenguaje de programación son:
- Es un lenguaje híbrido Orientado a Objetos – Funcional. Esto permite una gran flexibilidad para escoger el paradigma que más se ajuste al problema
- La inmutabilidad de datos es por defecto, pero también incorpora estructuras de datos mutables. Esto nos evita tener que hacer concesiones en aquellos casos concretos en los que la mejor solución pase por la mutabilidad.
- Corre sobre la Máquina Virtual de Java (JVM). Al igual que Java, el compilador de Scala genera ‘bytecode’ dentro de archivos JAR.
- Es 100% compatible con Java. Ambos lenguajes se pueden mezclar sin problemas, lo que permite un uso completo del ecosistema de Java, sus ‘frameworks’ y librerías.
- Tiene un ecosistema propio extenso y muy maduro.
Scala es un lenguaje enormemente pragmático que permite el desarrollo de software en muchos ámbitos: web, escritorio, servidor, móvil, entre otros. Es también un lenguaje ampliamente usado con éxito en la industria por empresas como Linkedin, Twitter, Intel, IBM, Amazon o The Guardian.
Los desarrolladores de ASM Web Services trabajan desde hace tiempo con Scala. Por ejemplo, para la compañía de alquiler de vehículos Goldcar creamos una plataforma de cálculo de pricing. Está diseñada con Scala para escalar horizontalmente de forma indefinida.
Proyectos de Scala