Ir al contenido

Diferencia entre revisiones de «Scala (lenguaje de programación)»

De Wikipedia, la enciclopedia libre
Contenido eliminado Contenido añadido
Etiquetas: Edición desde móvil Edición vía web móvil
Añadia
Línea 7: Línea 7:
| paradigma = [[Programación funcional|funcional]], [[Programación orientada a objetos|orientado a objetos]]
| paradigma = [[Programación funcional|funcional]], [[Programación orientada a objetos|orientado a objetos]]
| año = [[2003]]
| año = [[2003]]
| diseñador = [[Martin Odersky]]
| diseñador = [[Martin Odersky|Martin_Odersky]]
| desarrollador = Laboratorio de métodos de programación de la [[Escuela Politécnica Federal de Lausana|EPFL]]
| desarrollador = Laboratorio de métodos de programación de la [[Escuela Politécnica Federal de Lausana|EPFL]]
| última_versión = 2.11.8
| última_versión = 2.11.8

Revisión del 10:23 28 dic 2016

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
https://www.scala-lang.org/
Información general
Extensiones comunes scala y sc
Paradigma funcional, orientado a objetos
Apareció en 2003
Diseñado por Martin_Odersky
Última versión estable 2.11.8 (8 de marzo de 2016 (8 años, 9 meses y 11 días))
Sistema de tipos estático, fuerte
Influido por Smalltalk, Java, Haskell, Standard ML, OCaml
Licencia BSD

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 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