Programación Funcional con Java

SKU SOFT-671

$100.00

Nanocurso.La orientación a objetos (OOP) ha sido el paradigma de facto durante las últimas décadas en programación. OOP se basa fuertemente en la noción de estado mutable y, en la mayoría de los casos, en programación imperativa clásica en el nivel de control. Necesidades que requieren aumentar la escalabilidad de la aplicaciones actuales (por ejemplo, multi-threading o reactive programming) obligan principios y patrones distintos para equilibrar productividad, eficiencia y mantenibilidad. La programación funcional (FP) se ofrece como una excelente vía alterna que se alinea muy bien con ese requerimiento de equilibrio y que se puede acoplar con OOP de manera elegante, promoviendo un poderoso estilo declarativo de abstracción. La mayoría de los lenguajes OOP permiten en la actualidad una faceta en FP. En esta cápsula hacemos un estudio fundamentado y pragmático, del caso de Java y su progresiva evolución hacia una faceta en FP, buscando destacar y obtener beneficios en la forma de realizar la programación en situaciones comunes, para las cuales se darán ejemplos prácticos. La cápsula introduce la realización de FP en Java en una primera iteración de 8 horas.

Programas profesionales relacionados

No hay elementos relacionados.

Descripción del curso

Nanocurso. La orientación a objetos (OOP) ha sido el paradigma de facto durante las últimas décadas en programación. OOP se basa fuertemente en la noción de estado mutable y, en la mayoría de los casos, en programación imperativa clásica en el nivel de control. Necesidades que requieren aumentar la escalabilidad de la aplicaciones actuales (por ejemplo, multi-threading o reactive programming) obligan principios y patrones distintos para equilibrar productividad, eficiencia y mantenibilidad. La programación funcional (FP) se ofrece como una excelente vía alterna que se alinea muy bien con ese requerimiento de equilibrio y que se puede acoplar con OOP de manera elegante, promoviendo un poderoso estilo declarativo de abstracción. La mayoría de los lenguajes OOP permiten en la actualidad una faceta en FP. En esta cápsula hacemos un estudio fundamentado y pragmático, del caso de Java y su progresiva evolución hacia una faceta en FP, buscando destacar y obtener beneficios en la forma de realizar la programación en situaciones comunes, para las cuales se darán ejemplos prácticos. La cápsula introduce la realización de FP en Java en una primera iteración de 8 horas

Contenido 

Tema 1 Principios básicos de FP

– Asimilar los principios básicos de FP: razonabilidad, inmutabilidad y transparencia referencial
– Apreciar las ventajas ingenieriles de un estilo declarativo usando FP

Tema 2. Lambdas y clausuras

– Escribir y usar lambdas y clausuras
– Entender la interacción de lambdas y FP con el sistema de tipos
– Usar records como objetos livianos (POJOs) con lambdas

Tema 3. Streams y colectores

– Entender streams y combinadores básicos clásicos
– Introducir Colectores y su uso para agregaciones comunes
– Percibir la activación automática de paralelismo en streams reconociendo pros y contras

Competencias a obtener

Dada la cantidad de horas alcanzar un nivel que permita
  • Asimilar los principios básicos de FP: razonabilidad, inmutabilidad y transparencia referencial
  • Apreciar las ventajas ingenieriles de un estilo declarativo usando FP
  • Escribir y usar lambdas y clausuras
  • Entender la interacción  de lambdas y FP con el sistema de tipos
  • Usar records como objetos livianos (POJOs)  con lambdas
  • Entender streams y combinadores básicos clásicos
  • Introducir Colectores y su uso para agregaciones comunes
  • Percibir  la activación automática de paralelismo en streams reconociendo pros y contras

Expositor

Carlos Loría-Sáenz, costarricense, Dr. en Informática (Universidad Kaiserslautern Alemania, visitas postdoc Universidad de Saarland, Alemania), Académico UNA y ITCR. Más de 4 décadas de experiencia mixta en el campo académico y profesional. Gran experiencia en procesamiento de lenguajes usando compilación clásica combinadas con técnicas de AI. Promotor apasionado del paradigma  FP en el mejoramiento de la enseñanza de la programación universitaria.

Información adicional

Fecha de inicio

Martes 20 de junio de 2023

Horario

Martes – 18:00 a 22:00

Profesor

Área de formación

Ingeniería del Software

Modalidad

Virtual en vivo

Duración

8 horas

Nivel de complejidad

Avanzado

Perfil de ingreso

Programación Orientada a Objetos en Java.