Programación funcional en C++: un enfoque moderno
Programación funcional en C++: un enfoque moderno
Resumen:
El libro «Programación funcional en C++» es una guía práctica para desarrolladores que quieren ir más allá del enfoque imperativo tradicional y dominar los paradigmas funcionales en el contexto del C++ moderno (estándares C++17/20). El autor muestra cómo usar el poder del lenguaje —desde expresiones lambda y plantillas hasta contenedores STL— para crear código más predecible, comprobable y conciso.
De qué trata este libro
- Fundamentos de PF en C++: funciones puras, inmutabilidad de datos, ausencia de efectos secundarios. Cómo estos principios mejoran la legibilidad y la depuración.
- Expresiones lambda y clausuras: desde funciones anónimas simples hasta clausuras complejas con captura de variables. Ejemplos para algoritmos STL.
- Composición de funciones y currificación: creación de cadenas de llamadas con
std::functiony combinadores personalizados. Implementación de tuberías de procesamiento de datos. - Mónadas y functores en C++: patrones
Maybe,EitheryStatecon plantillas. Manejo de errores sin excepciones. - Cálculo perezoso y secuencias infinitas: generación de rangos, memoización, carga diferida con
std::generator(C++23) e iteradores propios. - Paralelismo y enfoque funcional: uso de
std::async,std::futurey tuberías funcionales para multihilo seguro.
Para quién es este libro
- Desarrolladores experimentados en C++ que deseen escribir código más limpio y modular.
- Programadores familiarizados con lenguajes funcionales (Haskell, Scala) pero que trabajan en C++.
- Estudiantes e ingenieros que estudian paradigmas de programación modernos.
Qué aprenderás
- Cómo reemplazar bucles y mutaciones con transformaciones de datos usando
std::transform,std::accumulatey algoritmos personalizados. - Cómo diseñar APIs usando composición en lugar de herencia.
- Cómo probar funciones de forma aislada, sin depender del estado global.
- Cómo implementar los patrones «Estrategia» y «Comando» con objetos funcionales.
El libro contiene numerosos ejemplos de código, ejercicios y problemas prácticos. Aprenderás a combinar técnicas funcionales e imperativas, eligiendo el enfoque óptimo para cada tarea. Después de leerlo, podrás escribir código en C++ que sea más fácil de mantener, ampliar y depurar.
La edición es adecuada tanto para el estudio autodidacta como para su uso como referencia de técnicas funcionales en C++.