Scala
Ejemplos.
Historia Scala
El diseño de la Scala se inició en 2001 en la
École Polytechnique Fédérale de Lausanne
(EPFL) por
Martin Odersky
.
Paradigma:
Scala es lenguaje multiparadigma,imperativo, concurrente, orientado a objetos, funcional. Es
un
objeto funcional
de programación
y
lenguaje de scripting
.
Scala permite estilos funcionales
y orientado a objetos para ser mezclados.
Tiene soporte completo para
la programación funcional
(incluyendo
currificación
,
coincidencia
de patrones
,
tipos de datos algebraicos
,
evaluación perezosa
,
la recursión de cola
,
inmutabilidad
, etc)
Tiene una muy fuerte estática
sistema de tipos
Lenguaje de implementación
Scala
Influido por
Eiffel, Erlang, Haskell, Java, Lisp Pizza, ml estándar, Scheme, Ocaml, Smalltalk, Oz
Extensión de nombre de archivo
.scala.
Plataforma
JVM, LLMV.
¿Por qué se originò?
Se originò como respuesta a los problemas de los lenguajes tradicionales imperativos para manejar la concurrencia.
Esto permite que los programas escritos en Scala a ser muy concisa y por lo tanto de menor
tamaño que la mayoría de los
lenguajes de programación de propósito general
.
En su momento de creaciòn se pretendía tomar algunas de las ideas de la programación
funcional y aplicarlo en el espacio de Java. Ese
esfuerzo se convirtió en un lenguaje llamado Pizza, que tenía tres características de la programación funcional: genéricos, funciones de
orden superior, y coincidencia de patrones.
La distribución inicial de pizza fue en 1996, un año después del lanzamiento de Java. Fue un
éxito moderado, ya que demostró que se podía implementar características de lenguaje
funcional de la plataforma JVM. Asì se desarrolló GJ en 1997/98 y seis años más tarde se convierte en los genèricos de Java 5
Diseño
Diseño de Scala fue inspirado por
las críticas
sobre las deficiencias de
Java
.
Scala se ejecuta en la
plataforma Java
y es compatible con existentes
Java
programas.
También se ejecuta en
Android
smartphones.
Código fuente Scala está diseñado para ser compilado a
bytecode de Java
.
Scala tiene el mismo modelo de compilación como
Java
y
C # , compilación separada y
carga
dinámica de clases
.
Scala tiene muchas características de
programación
de lenguajes funcionales como
Scheme
,
Estándar ML
y
Haskell
, incluyendo
funciones anónimas
,
la inferencia de tipos
,
las listas por
comprensión
, y
la inicialización perezosa
.
Es un lenguaje de programación que combina las ideas de la programación funcional y
redes
de Petri
.
C
aracterísticas operacionales de Scala son los mismos que
Java.
Flexibilidad
Scala tiene Flexibilidad sintáctica como por ejemplo: Los puntos y comas no son necesarias,
Cualquier método puede ser utilizado como un operador infijo, Variables corporales de clase se pueden implementar de forma transparente como métodos get y set separadas, Se permite el
uso de llaves en lugar de paréntesis en las llamadas a métodos,
Con fines de expresiones pueden adaptarse a cualquier tipo que definen métodos monádicos
como map , flatMap y filter
Inmutabilidad
Scala impone una distinción entre las variables inmutables, cuyo valor no se puede cambiar
una vez asignado, y variables mutables, que se pueden cambiar.
La distinción debe hacerse cuando se declara una variable: las variables inmutables se
declaran con
val
mientras que las variables mutables utiliza
var
Evaluación Lazy(no estricto)
La evaluación es estricta ("ansiosos") de forma predeterminada.
Scala evalúa las expresiones tan pronto como estén disponibles, en lugar de que sea
necesario
. ...
Regístrate para leer el documento completo.