Está en la página 1de 9

Scala – UF1 M05

PRÁCTICA 2
EL JERARI, ELYASS
Elyass el Jerari – DAW 1r 28/09/2022

CONTENIDO
HISTORIA .................................................................................................................... 2
CARACTERÍSTICAS ....................................................................................................... 3
TIPO DE LICENCIA......................................................................................................... 4
AMBITOS DE USO.......................................................................................................... 5
VENTAJAS Y DESVENTAJAS ........................................................................................... 6
CURIOSIDADES ............................................................................................................ 7
EJEMPLOS .................................................................................................................. 8

Pàgina 1 de 8
Elyass el Jerari – DAW 1r 28/09/2022

HISTORIA
Scala es un lenguaje de programación de código abierto el cual
se desarrolló en el año 2001, por un equipo de
desarrolladores dirigidos por Martin Odersky en la
universidad EPFL de Suiza.

El mismo creador de Java es el creador de Scala, el cual básicamente


fue creado como evolución del lenguaje Java, por ende, la similitud
entre ambos lenguajes de programación.

Este lenguaje de programación, en el año 2003 recibió un gran financiamiento para salir
al mercado, la suma de inversión para su lanzamiento se estima en 3 millones de dólares.

Hoy en día Scala es para muchos uno de los mejores lenguajes de programación, y sigue
en constante actualizaciones para cubrir la demanda generada por los mismos usuarios.

Pàgina 2 de 8
Elyass el Jerari – DAW 1r 28/09/2022

CARACTERÍSTICAS
Scala tiene el mismo modelo de compilación que Java y C # , es
decir, compilación separada y carga dinámica de clases , de modo
que el código de Scala puede llamar a las bibliotecas de Java.

ORIENTACIÓN A OBJETOS
Scala es un lenguaje de programación puro orientado a objetos, 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.

LENGUAJE FUNCIONAL
Scala también posee características propias de los lenguajes funcionales. Por ejemplo, las
funciones son valores de primera clase, soportando funciones anónimas, orden superior,
funciones anidadas y currificación, 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, se
proporcionan una combinación única de mecanismos que facilitan agregar
construcciones nuevas al lenguaje en forma de bibliotecas.

Pàgina 3 de 8
Elyass el Jerari – DAW 1r 28/09/2022

TIPO DE LICENCIA
Scala utiliza una licencia de tipo BSD que es otorgada principalmente para los sistemas
Berkeley Software Distribution, un tipo del sistema operativo Unix-like.

Es una licencia de software libre permisiva como la


licencia de OpenSSL o la MIT License. Esto está en
contraste con las licencias copyleft, que tienen de
reciprocidad requisitos de compartir-igual.

Esta licencia tiene menos restricciones en comparación con otras como la GPL estando
muy cercana al dominio público. La licencia BSD al contrario que la GPL permite el uso
del código fuente en software no libre. La versión original ya se ha revisado y sus variantes
son denominadas licencias BSD modificadas.

Pàgina 4 de 8
Elyass el Jerari – DAW 1r 28/09/2022

AMBITOS DE USO
Scala es un lenguaje de programación de propósito general de la familia de lenguajes de
programación funcionales. Scala soporta programación imperativa y orientada a objetos,
y por lo tanto es un lenguaje multiparadigma.

Algunos usos comunes de Scala incluyen la creación de aplicaciones web, procesamiento


de datos masivos, análisis de datos y cálculo científico. Además, no solo se utiliza Scala
para crear nuevos proyectos, sino también para otras herramientas de gran impacto en
el mercado como los frameworks. A continuación, mencionamos algunos de los ejemplos
más destacados.

• Play Framework
• Apache Spark
• Akka
• Apache Kafka

Asimismo, también existen grandes librerías que promueven y hacen que sea más fácil la
programación funcional, destacan:

• Cats: librería ligera, modular y extensible para programación funcional.


• Scalaz: conjunto de estructuras puramente funcionales para complementar las de
Scala.
• Magnolia: una Macro genérica para la materialización automática de clases de
tipos para tipos de datos compuestos.
• ZIO: este último creando un amplio y potente ecosistema que va a hacer en mi
opinión más interesante Scala en el futuro.

Pàgina 5 de 8
Elyass el Jerari – DAW 1r 28/09/2022

VENTAJAS Y DESVENTAJAS
Scala es un lenguaje de programación de propósito general que brinda soporte para la
programación funcional y un sólido sistema de tipo estático. Diseñado para ser conciso,
muchas de las decisiones de diseño de Scala se inspiraron en las de Ruby, Haskell y Erlang.

VENTAJAS:
1. Scala es un lenguaje muy conciso y expresivo, lo que puede conducir a un código
más legible y fácil de mantener.

2. El sistema de tipo Scala es muy rico y poderoso, lo que permite un código más
robusto y seguro

3. El soporte de Scala para la programación funcional puede hacer que el código


sea más elegante y conciso, así como mejorar el rendimiento.

4. Scala se ejecuta en la máquina virtual de Java, lo que significa que puede hacer
uso del vasto ecosistema de bibliotecas y herramientas de Java.

5. La comunidad de Scala es muy activa y solidaria, con muchas bibliotecas y


marcos de trabajo de alta calidad disponibles.

DESVENTAJAS:
1. La curva de aprendizaje de Scala puede ser empinada, ya que es un lenguaje
muy complejo.

2. El compilador de Scala puede ser lento, especialmente cuando se compilan


proyectos grandes.

3. El sistema de tipos enriquecidos puede dar lugar a un código detallado y


complejo.

4. La máquina virtual de Java puede ser un cuello de botella para algunas


aplicaciones.

Pàgina 6 de 8
Elyass el Jerari – DAW 1r 28/09/2022

CURIOSIDADES
1. Scala fue creado en el año 2001 por Martin Odersky.

2. Scala se inspiró en otros lenguajes de programación como Java, Smalltalk y Haskell.

3. Scala está disponible bajo una licencia de código abierto y se puede utilizar de forma
gratuita.

4. Scala se ejecuta en la JVM (Java Virtual Machine) y puede interoperar con código Java.

5. Scala tiene un sistema de tipos estáticos que permite una mayor seguridad y robustez
del código.

6. Scala tiene una sintaxis concisa y expresiva, lo que permite escribir código más
compacto.

7. Scala tiene una gran cantidad de librerías y frameworks disponibles, lo que facilita el
desarrollo de aplicaciones.

Pàgina 7 de 8
Elyass el Jerari – DAW 1r 28/09/2022

EJEMPLOS
Ejemplos del código de Scala:

object HelloWorld extends App {


println("Hola mundo")
}

// Las líneas que comienzan con // son comentarios

// Este es un comentario de una línea

/* Esto es
un comentario
de múltiples
líneas */

/* Esto es otro comentario


* de múltiples líneas
* con un asterisco en cada línea
*/

// Salida con println


println("Hola Mundo!")

// Salida con printf


printf("Hola %s\n", "Mundo")

Pàgina 8 de 8

También podría gustarte