Scala (lenguaje de programación)

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda
Este artículo es acerca del Lenguaje de Programación. Para otros usos, ver Scala.
Scala
Desarrollador(es)
Laboratorio de métodos de programación de la EPFL
www.scala-lang.org
Información general
Paradigma funcional, orientado a objetos
Apareció en 2003
Diseñado por Martin Odersky
Última versión estable 2.11.4 (31 de octubre de 2014; hace 48 días (2014-10-31))
Tipo de dato estático, fuerte
Influido por Smalltalk, Java, Haskell, Standard ML, OCaml
Licencia BSD
[editar datos en Wikidata ]

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[editar]

Orientación a objetos[editar]

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[editar]

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[editar]

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

Extensibilidad[editar]

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[editar]

Este es el famoso Hola Mundo escrito en Scala:

object HolaMundo {
  def main(args: Array[String]) =
    println("Hola mundo")
}


Nótese lo similar a un programa Java, la diferencia es que no declaramos nada estático o un retorno vacío; la palabra reservada object nos devuelve un objeto Singleton que nos libera de realizar por nosotros mismos tales construcciones.

Enlaces externos[editar]