1. Prólogo

(dar-bienvenida)

Eres un afortunado, te encuentras ante los pocos libros de Clojure en español. A esto suma que está realizado por un docente con una larga experiencia en la enseñanza, además de ser un comunicador activo en diferentes medios y comunidades.

Si quieres apoyar el proyecto, puedes adquirir la versión en ePub, Mobi y PDF en https://don-clojure-de-la-mancha.andros.dev/.

Antes de continuar quiero empatizar contigo para quitarte cualquier sentimiento de culpa: yo también fui joven e inexperto, y claro, programaba solamente orientado a objetos. Por suerte continué formándome, madurando, explorando nuevos caminos… hasta que descubrí un enfoque legendario que rompió todas mis creencias: la programación funcional. Al ir descubriendo sus bondades no paré de hacerme la siguiente pregunta: ¿los Objetos no eran el final del camino, el Olimpo de todo buen desarrollador? ¡Me habían engañado!, no era un gigante sino un gran molino de viento movido por intereses de grandes empresas y desinformación. La programación funcional siempre ha estado ahí, esperándote, oculta entre paréntesis.

El objetivo del libro es servirte como una guía sencilla y moderna para entrar en Clojure, no hacer un análisis en profundidad de la programación declarativa contra imperativa. Aunque es cierto que con el uso de este lenguaje iremos explorando todas las ventajas que nos ofrece.

  • Uso de funciones: como su nombre indica, todo se construye por medio de funciones. Esta forma de trabajar es sencilla, ordenada, clara, fácil de testear.

  • Funciones de primera clase: las funciones son tratadas como una variable más. Incluso pueden ser devueltas.

  • Funciones puras: totalmente predictivo, los mismos datos de entrada producirán los mismos datos de salida. Puedes sustituir el parámetro de entrada sin que ello altere el flujo del programa.

  • Recursividad: las funciones se pueden llamar a sí mismas simplificando tareas como recorrer árboles de datos o la gestión de bucles controlados.

  • Inmutabilidad: no hay variables, solo constantes. Evitamos efectos colaterales.

  • Evaluación perezosa (no estricta): en la programación funcional podemos trabajar con expresiones que no han sido evaluadas, o dicho de otra manera, podemos disponer de variables con operaciones cuyo resultado aún no se conoce. A esto se le denomina evaluación no estricta.

Es el momento de vestirnos con el yermo, ajustarnos el casco y montar a Rocinante. Nos queda mucho por aprender.

Ancho es el cálculo Lambda. ¡Cabalguemos hacia el infinito!

nil

Este trabajo está bajo una licencia Attribution-NonCommercial-NoDerivatives 4.0 International.

¿Me invitas a un café?

Visitantes en tiempo real

Estás solo: 🐱