Ir al contenido principal

Scala

Ј2.png



Scala es un lenguaje de programación multi-paradigma diseñado para expresar patrones comunes de programación en forma concisa, elegante y con tipos seguros. Integra sutilmente características de lenguajes funcionales y orientados a objetos. La implementación actual corre en la máquina virtual de Java y es compatible con las aplicaciones Java existentes.

Características
Orientación a objetos
Scala es un lenguaje de programación orientado a objetos puro, en el sentido de que cada valor es un objeto. El tipo y comportamiento de los objetos se describe por medio de clases y traits. La abstracción de clases se realiza extendiendo otras clases y usando un mecanismo de composición basado en mixins como un reemplazo limpio de la herencia múltiple.

Lenguaje funcional
Scala también posee características propias de los lenguajes funcionales. En Scala las funciones son valores de primera clase, soportando funciones anónimas, orden superior, funciones anidadas y currificación. Scala viene integrado de fábrica con la técnica de pattern matching para modelar tipos algebraicos usados en muchos lenguajes funcionales.

Tipificado estático
Scala está equipado con un sistema de tipos expresivo que refuerza a que las abstracciones de tipos se usen en forma coherente y segura.

Extensibilidad
Scala se diseñó teniendo en mente el hecho de que en la práctica el desarrollo de aplicaciones requiere a menudo de extensiones específicas del lenguaje. Para ello, Scala proporciona una combinación única de mecanismos que hacen fácil y sin problemas agregar construcciones nuevas al lenguaje en forma de bibliotecas.

Hola Mundo
Hola Mundo escrito en Scala:

 object HelloWorld extends App {
   println("Hola mundo")

 }


Comentarios

Entradas más populares de este blog

Que es un lenguaje de programación

HomeTecnologiasQue es un lenguaje de programación Que es un lenguaje de programación Contenido [mostrar] Para la inmensa mayoría de los usuarios, el uso de una computadora es lo más sencillo y transparente que existe, y no debe preocuparse por aspectos técnicos relacionados con cómo los programas que utiliza a diario son desarrollados y diseñados. Esto es así desde hace años, y es totalmente aceptable que sea de esta manera, ya que lo que subyace debajo de las ventanas y cuadros de diálogo de una aplicación no debe interferir nunca con la productividad de quien use el software, sino que es responsabilidad de los ingenieros y desarrolladores. Sin embargo nunca está demás aprender algo nuevo, ya que de esta manera podremos entender mejor cómo funciona una computadora y cómo se interrelaciona con nosotros a través del software, con la consiguiente ganancia en productividad, y por qué no, conseguir ese algo más que nos diferencie de los demás. Es por ello que en este art