Programación Funcional con Java
SKU
$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
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
- 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. |
Cursos relacionados