Programación funcional en Go (Golang)
Programación funcional en Go (Golang)
Resumen:
El libro «Programación funcional en Go (Golang)» es una guía práctica que muestra cómo aplicar los principios de la programación funcional (PF) en el lenguaje imperativo Go. A diferencia de Haskell o Scala, Go no es un lenguaje puramente funcional, pero sus potentes capacidades —clausuras, funciones de orden superior, interfaces y tipado estricto— permiten implementar eficazmente los modismos de PF para crear código robusto y fácil de mantener.
El libro está dirigido a desarrolladores Go de nivel intermedio y avanzado que quieren ir más allá de los enfoques estándar de POO y aprender a escribir código más conciso, predecible y testeable. Se requieren conocimientos básicos de sintaxis de Go, pero no se necesita experiencia en programación funcional: todos los conceptos se introducen desde cero.
Qué aprenderás:
- Fundamentos de PF en Go: funciones puras, inmutabilidad de datos, ausencia de efectos secundarios.
- Clausuras y funciones de orden superior: cómo crear fábricas de funciones, currificación y composición.
- Trabajo con colecciones: implementación de map, filter, reduce sin bucles, usando genéricos (Go 1.18+).
- Mónadas y functores: ejemplos prácticos de Maybe, Either y la mónada IO para el manejo de errores y trabajo con datos externos.
- Cálculo perezoso y secuencias infinitas: optimización del rendimiento mediante operaciones diferidas.
- Pruebas y depuración: cómo la PF simplifica las pruebas unitarias y hace que el código sea autodocumentado.
- Proyectos reales: desarrollo de una API REST, un analizador de configuraciones y un pipeline de procesamiento de datos en estilo funcional.
Cada capítulo contiene código en Go que se puede ejecutar de inmediato, y ejercicios para afianzar el material. Aprenderás a evitar errores comunes (mutación del estado global, bucles anidados complejos) y a construir una arquitectura resistente a los cambios.
Al final del libro podrás:
- Escribir funciones que sean fáciles de combinar y reutilizar.
- Reducir la cantidad de errores al eliminar los efectos secundarios.
- Aplicar patrones funcionales en código de producción en Go.
Este libro no es teoría abstracta, sino una herramienta que te convertirá en un desarrollador Go más seguro y eficaz.
Recommendations
Rust: consejos y mejores prácticas
Rendimiento de aplicaciones C++: de la teoría a la práctica
PHP y bases de datos: guía práctica
JavaScript (Node.js) y bases de datos: guía práctica
Concurrencia en Rust: desde los fundamentos hasta sistemas de alta carga
Introducción a los patrones de diseño en C++ con Qt