Introducción a Scala

Scala es un lenguaje de programación basado en Java y multiparadigma: es orientado a objetos, pero integra características propias de un lenguaje funcional. Es un lenguaje conciso y de poca gramática donde se pueden construir programas de forma elegante y en pocas palabras. En este tutorial te explico qué puedes conseguir utilizando Scala poco a poco y de forma fácil.

Este curso ha sido marcado como anticuado y no está siendo revisado de forma activa. Es posible que la información pueda estar desactualizada o que los enlaces se hayan roto.

Scala es un lenguaje de programación que destaca por ser multiparadigma, combinando la orientación a objetos con la programación funcional. Esto significa que, si ya estamos familiarizados con lenguajes orientados a objetos como Java, encontraremos en Scala conceptos similares como clases, paquetes, módulos, polimorfismo y herencia. Sin embargo, Scala no se limita a eso; incorpora características propias de la programación funcional que enriquecen la forma en que escribimos código.

Una de las particularidades más interesantes de Scala es que las funciones son ciudadanos de primera clase. Esto quiere decir que podemos tratarlas como cualquier otro valor: pasarlas como argumentos, devolverlas desde otras funciones o almacenarlas en variables. Además, Scala soporta funciones anónimas y funciones que devuelven otras funciones, lo que abre un abanico de posibilidades para escribir código más expresivo y modular. También cuenta con un mecanismo llamado pattern matching, que nos permite realizar comprobaciones y desestructuraciones de datos de forma muy elegante, algo que puede recordarnos a lenguajes funcionales como Haskell.

Otra ventaja importante de Scala es su interoperabilidad con Java. Al estar basado en la JVM (Java Virtual Machine), el código que escribamos en Scala se compila a bytecode que puede ejecutarse en cualquier entorno compatible con Java. Esto facilita integrar código Scala en proyectos Java existentes y viceversa, lo que es una gran ventaja para quienes trabajan en entornos donde Java es predominante.

Scala se caracteriza por ser un lenguaje conciso y elegante. En lugar de escribir mucho código para expresar una idea, en Scala solemos invertir más tiempo pensando cómo escribir funciones compactas y claras. Gracias a la inferencia de tipos, no es necesario declarar explícitamente el tipo de cada variable; el compilador es capaz de deducirlo automáticamente, lo que reduce la verbosidad sin sacrificar la seguridad. De hecho, Scala es un lenguaje de tipado estático, por lo que el compilador nos protege de errores comunes como asignar valores de tipos incompatibles o pasar argumentos incorrectos a funciones.

El lenguaje fue creado por Martin Odersky en 2003, un desarrollador con una amplia trayectoria en el mundo Java, lo que explica la estrecha relación entre ambos lenguajes. Desde entonces, Scala ha evolucionado como un proyecto de código abierto con contribuciones de una comunidad activa. Aunque Java ha ido incorporando características funcionales en sus últimas versiones, Scala sigue siendo una de las mejores opciones para quienes buscan un lenguaje que integre de forma natural la programación funcional y orientada a objetos.

En cuanto a la instalación y uso, Scala es muy accesible. Al estar basado en Java, funciona en cualquier plataforma que soporte la JVM. Podemos instalarlo fácilmente en Windows mediante un instalador tradicional, o en sistemas como Ubuntu, Fedora o macOS usando gestores de paquetes para mayor comodidad. Esto nos permite empezar a programar sin complicaciones.

Para seguir aprendiendo Scala, es recomendable tener conocimientos básicos de Java, especialmente porque en algunos momentos trabajaremos con la librería estándar de Java. No es necesario tener experiencia previa en programación funcional, ya que los conceptos se irán explicando a medida que avancemos. Así, tanto quienes vienen del mundo orientado a objetos como quienes se acercan por primera vez a la programación funcional podrán entender y aprovechar las ventajas que ofrece Scala.

Lista de reproducción
  1. 1
    Introducción a Scala
    6 minutos
  2. 2
    Instalar Scala
    6 minutos
  3. 3
    Primeros pasos con el intérprete
    5 minutos
  4. 4
    Variables con val y var
    7 minutos
  5. 5
    Declarando funciones
    7 minutos
  6. 6
    Inciso sobre Units e iguales
    5 minutos
  7. 7
    Presentación de los objetos singleton
    6 minutos
  8. 8
    Editando y compilando archivos
    8 minutos
  9. 9
    Descargar e instalar Scala IDE
    6 minutos
  10. 10
    Proyectos y worksheets en Scala IDE
    7 minutos
  11. 11
    El condicional IF en Scala
    8 minutos
  12. 12
    Un caso sencillo de MATCH
    6 minutos
  13. 13
    Bucles WHILE y DO-WHILE (y String Interpolation)
    7 minutos
  14. 14
    El sistema de tipos
    7 minutos
  15. 15
    Colecciones
    9 minutos
  16. 16
    Funciones básicas de una colección
    8 minutos
  17. 17
    El map (es sensacional)
    8 minutos
  18. 18
    Flatten y flatMap
    9 minutos
  19. 19
    Sets, parte 1 de 3: Set
    8 minutos
  20. 20
    Sets, parte 2 de 3: Sets mutables
    4 minutos
  21. 21
    Sets, parte 3 de 3: SortedSet
    6 minutos
  22. 22
    Mapas (parte 1 de 2): Creando mapas
    9 minutos
  23. 23
    Mapas (parte 2 de 2): Operaciones
    8 minutos
  24. 24
    foreach y for
    8 minutos