trubidata
./curso

Fundamentos de Scala

Aprendé Scala 3 desde cero con ejemplos bancarios: las bases del lenguaje, operadores, estructuras de control, funciones, colecciones, clases, herencia, traits, strings, archivos y expresiones regulares, y un proyecto final con sbt.

GratisInicial~25 h14 lecciones

Basado en el curso que armé para· 2023

Empezar el curso

Qué vas a aprender

  • Instalar Java, Scala y sbt, usar el intérprete y compilar proyectos con sbt o con Maven.
  • Las bases del lenguaje: valores y variables, tipos, bloques, operadores (que en Scala son métodos) y estructuras de control.
  • Funciones a fondo: argumentos por defecto y con nombre, recursión, funciones de orden superior, lambdas, aplicación parcial, currying, valores perezosos y excepciones.
  • Trabajar con arrays, matrices, listas, mapas, tuplas y sets, y transformarlos con map, filter, foldLeft y groupBy.
  • Programación orientada a objetos en Scala: clases, objetos singleton, companion objects, case classes, herencia, clases abstractas y traits.
  • Procesar texto: strings, lectura y escritura de archivos y expresiones regulares.
  • Integrar todo en un proyecto final: un sistema bancario con clientes, cuentas, transacciones y un banco.

Para quién es

  • Desarrolladores que vienen de Java, C++, Python u otro lenguaje y quieren sumarse a un equipo que programa en Scala.
  • Data engineers que necesitan leer y escribir Scala con soltura.

Requisitos

  • Saber programar en algún lenguaje: variables, funciones, condicionales y bucles. Si venís de Java, vas a reconocer muchas cosas.
  • Estar cómodo con la línea de comandos de tu sistema operativo.
  • Para casi todo alcanza con el navegador (Scastie). Para las lecciones de entrada por teclado, archivos y el proyecto final, Java 11, Scala y sbt instalados: la lección 1 explica cómo.

Cómo está armado

El curso usa las versiones del momento en que se armó el material original, octubre de 2023: Scala 3.3.1 (la primera versión LTS de Scala 3), sbt 1.9.6 y Java 11. Donde la sintaxis de Scala 2 que vas a encontrar en código existente cambia en Scala 3, hay una nota que lo aclara.

  • Módulo 1 · Las bases — instalación, intérprete, valores, tipos, operadores y estructuras de control.
  • Módulo 2 · Funciones y colecciones — funciones, programación funcional y excepciones; arrays y matrices; listas, mapas, tuplas y sets.
  • Módulo 3 · Programación orientada a objetos — clases, objetos y case classes, y herencia.
  • Módulo 4 · Strings, archivos y traits — strings, archivos, expresiones regulares y traits.
  • Módulo 5 · Proyecto final — un sistema bancario en Scala 3 con sbt: recorrido por el código, mejoras y ejercicios para extenderlo.

El curso trae dos proyectos para descargar: un proyecto de ejemplo con Maven (Scala 2.13.8), en la lección 1, y el proyecto final con sbt, en la lección 14.

Casi todos los ejemplos y ejercicios giran alrededor del mismo dominio: cuentas, tarjetas, transacciones y préstamos. Cada lección cierra con ejercicios ("Practicá") y sus soluciones. La idea es que escribas el código vos antes de mirar la respuesta.