Scala - Descripción general
Scala, abreviatura de Scalable Language, es un lenguaje de programación funcional híbrido. Fue creado por Martin Odersky. Scala integra sin problemas las características de los lenguajes funcionales y orientados a objetos. Scala está compilado para ejecutarse en la máquina virtual Java. Muchas empresas existentes, que dependen de Java para aplicaciones comerciales críticas, están recurriendo a Scala para aumentar su productividad de desarrollo, escalabilidad de aplicaciones y confiabilidad general.
Aquí presentamos algunos puntos que hacen de Scala la primera elección de los desarrolladores de aplicaciones.
Scala está orientado a objetos
Scala es un lenguaje puro orientado a objetos en el sentido de que cada valor es un objeto. Los tipos y el comportamiento de los objetos se describen mediante clases y rasgos que se explicarán en los capítulos siguientes.
Las clases se amplían en subclassing y un flexible mixin-based composition mecanismo como un reemplazo limpio para la herencia múltiple.
Scala es funcional
Scala también es un lenguaje funcional en el sentido de que cada función es un valor y cada valor es un objeto, por lo que, en última instancia, cada función es un objeto.
Scala proporciona una sintaxis ligera para definir anonymous functions, es compatible higher-order functions, permite que las funciones sean nestedy apoya currying. Estos conceptos se explicarán en capítulos posteriores.
Scala se escribe estáticamente
Scala, a diferencia de algunos de los otros lenguajes escritos estáticamente (C, Pascal, Rust, etc.), no espera que proporcione información de tipo redundante. No es necesario que especifique un tipo en la mayoría de los casos y ciertamente no es necesario que lo repita.
Scala se ejecuta en la JVM
Scala se compila en código de bytes de Java que es ejecutado por la máquina virtual de Java (JVM). Esto significa que Scala y Java tienen una plataforma de ejecución común. Puede pasar fácilmente de Java a Scala.
El compilador de Scala compila su código de Scala en código de bytes de Java, que luego puede ser ejecutado por el 'scala'comando. Los 'scala'comando es similar al java comando, ya que ejecuta su código compilado de Scala.
Scala puede ejecutar código Java
Scala le permite utilizar todas las clases del SDK de Java y también sus propias clases de Java personalizadas o sus proyectos favoritos de código abierto de Java.
Scala puede realizar procesamiento simultáneo y sincronizado
Scala le permite expresar patrones generales de programación de una manera eficaz. Reduce el número de líneas y ayuda al programador a codificar de forma segura. Te permite escribir códigos de manera inmutable, lo que facilita la aplicación de simultaneidad y paralelismo (Sincronizar).
Scala vs Java
Scala tiene un conjunto de características que difieren completamente de Java. Algunos de estos son:
- Todos los tipos son objetos
- Inferencia de tipo
- Funciones anidadas
- Las funciones son objetos
- Soporte de lenguaje específico de dominio (DSL)
- Traits
- Closures
- Soporte de concurrencia inspirado en Erlang
Frameworks de Scala Web
Scala se utiliza en todas partes y, de manera importante, en aplicaciones web empresariales. Puede consultar algunos de los marcos web de Scala más populares:
El marco de elevación
El marco de juego
El marco de Bowler