md_footer

Fundamentos del lenguaje Scala

Scala combina la programación orientada a objetos y funcional en un lenguaje de alto nivel y conciso.

md_footer

Conocerás los elementos para implementar los conceptos de la programación funcional, con ello, podrás crear aplicaciones para la JVM que sean fácilmente escalables.

Actualmente conocer más de un paradigma de programación es necesario, pues la problemática requiere de implementar técnicas distintas o dar una solución desde un punto de vista diferente. Scala es un lenguaje híbrido que corre sobre la JVM, pues es funcional y orientado a objetos, lo cual, lo hace la opción adecuada para obtener los conocimientos del paradigma funcional, sin descuidar el conocimiento que se tenga sobre el lenguaje Java.

Y aunque, cuenta con algunos elementos distintos en su estructura, se presta fácilmente a la implementación de los mismos, conceptos que puede adoptar un desarrollador Java. Con ello, se abren las puertas a un ecosistema de desarrollo basado en el lenguaje, y la creación de un criterio de resolución de problemas más amplio.

· A quien va dirigido:

Este entrenamiento es ampliamente recomendado para:

  • Desean cumplir la meta de aprender por lo menos un nuevo lenguaje al año
  • Desarrolladores interesados en crear aplicaciones escalables con el uso del lenguaje
  • Enriquecer el conocimiento del paradigma orientado a objetos con el conjunto de conceptos de la programación funcional.
  • Deseen aprovechar mucho más la plataforma Java
  • Desean obtener los elementos esenciales para desarrollar con frameworks como Play o Scalatra

· Pre-requisitos:

Necesarios:

  • Experiencia mínima de 2 años en desarrollo con Java (Stand-alone, Web).
  • Conocimiento sólido del paradigma de Orientación a Objetos.
  • Conocimientos básicos de Programación Funcional.
  • Disposición a aprender nuevos conceptos y paradigmas.

Recomendables:

  • Conozca el lenguaje Java y el SDK
  • Conozca el uso y definición de clases internas anónimas, interfaces y clases abstractas en Java
  • Tener experiencia previa en otro lenguaje de programación funcional.

· Contenido del entrenamiento:

  • Por qué Scala?
  • Que es Scala?
  • Primeros pasos
    • REPL
  • Declaración de variables
  • Estructuras de control
  • Definición de funciones
  • OO
    • Clases
    • Objects
    • Traits
    • Generics
  • Paquetes e imports
  • E/S
  • Interoperatividad
  • Pruebas
    • Uso básico de ScalaTest
  • Scaladoc
  • Programación Funcional
    • Functions Values
    • Functions and Closures
    • Colecciones
    • Pattern matching
      • Better switch
      • Case clases
      • Pockemon (Gotta catch’em all!!!)
      • Manejo de excepciones
      • Options
      • Guards
      • Extractors (Mención)
      • Matching de estructuras complejas/profundas/anidadas? (Mención)
  • Lazy values
  • Implícitos
  • Programación Web
    • Scalatra (Ejemplo sencillo)
    • Play (Ejemplo sencillo)