Documental oficial de Clojure
(clojure.org)- Se publicó un video documental oficial de 1 hora sobre cómo Clojure creció hasta convertirse en el lenguaje de infraestructura de fintech globales
- Presenta el recorrido de los orígenes únicos de Clojure, su comunidad centrada en los valores y su impacto en la forma de pensar el software
- Enlace de YouTube: Cómo el proyecto personal de un programador cambió nuestra forma de pensar sobre el software
- Las notas del programa reúnen los artículos fundamentales, libros, charlas y casos empresariales que sirvieron de base para Clojure
- También se presentan runtimes y proyectos de expansión como Clojure, ClojureScript, ClojureCLR, así como Babashka, Jank, ClojureDart
- La página oficial funciona como un hub integral del ecosistema de Clojure, que abarca herramientas de IA, ciencia de datos, integración con editores y canales comunitarios
Resumen del documental
- El documental de Clojure muestra cómo, a partir de los 2 años sabáticos de Rich Hickey y una idea obstinada, terminó impulsando el stack de ingeniería de una de las fintech más grandes del mundo
- Aparecen figuras clave como Rich Hickey, Alex Miller y Stuart Halloway, y se exploran los orígenes poco convencionales de Clojure, su comunidad centrada en valores y su influencia en la manera de pensar el software
- El documental fue producido con el patrocinio de Nubank
Notas del programa
-
Artículos de investigación fundamentales
- Out of the Tarpit (2006) — Ben Moseley & Peter Marks, señala que el estado mutable en el software es una causa principal de la complejidad accidental
- Ideal Hash Trees — Phil Bagwell, su investigación sobre Hash Array Mapped Tries (HAMTs) inspiró directamente las estructuras de datos persistentes de Clojure
- Composable Memory Transactions (2005) — Tim Harris y otros, presenta el concepto de Software Transactional Memory (STM), que influyó en el modelo de concurrencia de Clojure
- Paper Bibliography — listado de artículos que Rich Hickey consultó al desarrollar Clojure, recopilado por Michael Fogus
-
Libros influyentes
- On Lisp — Paul Graham, obra de referencia sobre técnicas avanzadas de Lisp, disponible gratis en línea
- Programming Clojure (4th ed.) — escrito por Alex Miller, Stuart Halloway y Aaron Bedra; la primera edición se publicó junto con Clojure 1.0
- The Joy of Clojure — de Michael Fogus & Chris Houser
-
Principales charlas de Rich Hickey
- Simple Made Easy (2011) — charla emblemática que define la diferencia entre "simple" y "easy"
- Clojure at LispNYC (2007) — primera presentación pública de Clojure
- Are We There Yet? (2009) — análisis del modelo de estado de Clojure y del concepto de tiempo en programación
- Hammock Driven Development (2010) — enfatiza un enfoque de pensar profundamente el problema antes de escribir código
- The Value of Values (2012) — destaca la importancia de los valores inmutables (immutable values)
- Writing Datomic in Clojure (2012) — explica por qué Datomic fue escrito en Clojure
- Effective Programs - 10 Years of Clojure (2017) — repaso de los 10 años de evolución de Clojure y de cómo se priorizaron funciones orientadas a resolver problemas reales
- Talk Transcripts — archivo de transcripciones de charlas de Rich Hickey y de la comunidad
- Rich Hickey Talks — playlist con videos de las charlas de Rich
-
Ensayos de Paul Graham
- Beating the Averages, Revenge of the Nerds y otras colecciones de ensayos
-
Empresas y proyectos principales
- Cognitect — consultora que mantuvo Clojure durante mucho tiempo
- Nubank — el banco digital independiente más grande del mundo; opera su infraestructura principal con Clojure y Datomic, y tras adquirir Cognitect en 2020 lidera el desarrollo de Clojure
- Datomic — base de datos distribuida basada en hechos inmutables (immutable facts), diseñada por Rich Hickey y Cognitect
-
Comunidad y materiales de archivo
- Java.next Blog Series (2008) — serie de blog de Stuart Halloway sobre tendencias de lenguajes en la JVM
- Clojure IRC Log Archive — registro preservado del canal IRC original de Clojure
- Clojure Etiquette — guía de etiqueta comunitaria surgida de publicaciones de Rich en la lista de correo
Dialectos y runtimes de Clojure
-
Núcleo
- Clojure — corre sobre la JVM; ofrece la guía oficial de inicio y el libro introductorio gratuito Brave Clojure
- ClojureScript — compila a JavaScript y da soporte a librerías frontend como Reagent y Re-frame
- ClojureCLR — Clojure que corre sobre .NET CLR
-
Expansiones
- Babashka — permite scripting rápido sin tiempo de arranque de la JVM
- Jank — compilador nativo orientado a LLVM
- ClojureDart — para desarrollo de apps móviles basadas en Flutter
- Squint / Cherry — variantes de ClojureScript que compilan a módulos ES
- Other Clojure-like projects — lista de otros proyectos similares
-
Ciencia de datos
- libpython-clj — llama directamente desde Clojure a librerías de Python como NumPy, pandas, scikit-learn
- Noj — toolkit nativo de ciencia de datos en Clojure desarrollado por SciCloj, con integración de dataframes, visualización y machine learning
- Tablecloth — combina interoperabilidad con Python y dataframes en Clojure
-
Clojure e IA
- ECA (Editor Code Assistant) — herramienta de asistencia para edición de código
- Backseat Driver — herramienta de Clojure para Copilot
- ClojureMCP — servidor MCP que conecta asistentes de IA con el REPL, como Claude, Codex y Gemini
- MCP-nREPL — servidor MCP mínimo basado en Babashka que ofrece a agentes de programación acceso a nREPL
- clojure-mcp-light — herramienta CLI ligera para asistentes de programación con LLM
- #ai-assisted-coding (Clojurians Slack) — canal comunitario activo sobre IA y desarrollo en Clojure
Cómo empezar
- Experiencia completa — la guía oficial incluye videos de instalación para macOS, Linux y Windows, con uso de Calva en VS Code
- La ruta más rápida — instala Babashka y comienza a hacer scripting de inmediato, sin configurar la JVM
- Web/frontend — empieza con ClojureScript + Shadow CLJS
- Apps móviles — desarrolla apps con Flutter usando ClojureDart
- Usuarios de Python — usa libpython-clj para invocar directamente librerías de Python
- Editor — Calva ofrece en VS Code soporte para REPL, edición estructural e integración con IA (Backseat Driver); consulta la guía de editores
Glosario
- Lisp — familia de lenguajes que expresan el código como listas anidadas entre paréntesis; Clojure es un dialecto de Lisp
- REPL — Read-Eval-Print Loop, sesión interactiva que lee expresiones, las evalúa y muestra el resultado
- Programación funcional — estilo de programación que minimiza el estado mutable y los efectos secundarios, y se organiza alrededor de funciones
- Valor (Value) — dato que no cambia después de crearse; Clojure usa valores inmutables por defecto
- Estructura de datos persistente (Persistent Data Structure) — colección que preserva versiones anteriores al modificarse; aquí "persistent" significa preservación de versiones
- Complejidad accidental (Accidental Complexity) — complejidad causada no por el problema en sí, sino por las herramientas o decisiones de diseño
- STM (Software Transactional Memory) — modelo de concurrencia que coordina cambios de estado compartido mediante transacciones en lugar de locks
- Lenguaje alojado (Hosted Language) — lenguaje que corre sobre una plataforma existente en vez de tener su propio runtime; Clojure funciona sobre la JVM, ClojureScript sobre JS y ClojureCLR sobre .NET
Seguir a Clojure y comunidad
- Opera canales oficiales en YouTube, Reddit, Slack, LinkedIn y otros
- Clojure/Conj Conference 2026 — programada del 30 de septiembre al 2 de octubre de 2026 en Charlotte, Carolina del Norte, Estados Unidos
6 comentarios
Como Clojure salió hace bastante tiempo, me da curiosidad por qué se vuelve a hablar de Clojure. Al principio, cuando salió Clojure, tuve la experiencia de reseñar un libro sobre el tema. Después vi algunas empresas que intentaron usarlo, pero la conclusión fue que no era fácil de utilizar en un entorno empresarial. Y cuando parecía que iba a quedar enterrado, me pregunto por qué vuelve a salir la conversación.
He usado Java desde sus inicios durante mucho tiempo, pero aunque la JVM sigue usándose bastante por razones como que en las grandes empresas ya hay mucho software desarrollado en Java, que (en el caso de Estados Unidos) gran parte de la fuerza laboral india domina Java, y que se enseña Java desde la preparatoria hasta la universidad, entre otras cosas, en mi opinión ya no encaja con la época actual. Me gusta Lisp, pero no encontré en el texto de arriba qué ventajas hacen que, en plena era de la IA, vuelvan a destacarse un lenguaje bastante minoritario y un enfoque de JVM que parece ir en declive.
Como nunca he aprendido bien un lenguaje de programación funcional, estoy pensando en empezar con Clojure. ¿Cómo debería estudiarlo? Les agradecería mucho sus consejos.
Mi experiencia y la conclusión de varias personas era que la forma correcta de estudiar un lenguaje funcional era hacerlo con un lenguaje funcional puro.
Eso se decía cuando los lenguajes funcionales empezaban a ganar atención y también en la época en que recibían mucho interés, y yo estaba de acuerdo. Yo estudié con Erlang en sus primeros años, y en ese momento fue una experiencia bastante impactante y sorprendente.
Entonces, ¿cómo aprendieron un lenguaje de programación funcional puro? Hasta ahora he aprendido lenguajes de programación (C, Go, Python, etc.) con libros técnicos + proyectos paralelos, ¿está bien seguir ese mismo enfoque de aprendizaje también con los lenguajes de programación funcional?
Puede variar según la persona, pero me parece que en temas de computación casi todos estudian de la manera que mencionas. En estos días también existe la opción de aprender con videos, así que habrá que hacerlo con el método de aprendizaje que mejor le funcione a cada quien.
Comentarios en Hacker News
Clojure fue de lo mejor que me pasó en mi carrera
Gracias a este lenguaje, mi salario se duplicó y pude cambiarme a una industria más estable
El ambiente inclusivo de la conferencia Heart of Clojure fue realmente sorprendente. La comunidad sigue activa hasta hoy, y en particular me impresiona la pasión de la comunidad de Jank, que está creando un dialecto de Clojure para trabajo de bajo nivel
El problema es que la mayoría de las empresas valora más la facilidad para reemplazar desarrolladores que la estabilidad o la autenticidad del lenguaje. Al final eso baja la calidad y crea un círculo vicioso en el que intentan reemplazar todo con IA y terminan arruinando su propia empresa
Lo que me sorprendió al usar Clojure comercialmente fue que muchos desarrolladores ni siquiera conocían la filosofía del lenguaje, las charlas de Rich Hickey o cómo usar el REPL. Aun así, estaban a cargo de mantener codebases en Clojure, y eso me parecía extraño
Justamente me cambié a Clojure por su ciclo de retroalimentación corto, así que si no vas a aprovechar eso, no entiendo por qué usar este lenguaje
Gracias a Clojure pude llevar un negocio sostenible como emprendedor en solitario durante los últimos 10 años
Como el cliente y el servidor comparten la mayor parte de la lógica de negocio, incluso codebases complejas eran fáciles de mantener
Sobre todo, el lenguaje y el entorno están centrados en la estabilidad, así que no sientes que el piso se mueve cada pocos años como pasa con otros lenguajes
Clojure no es un lenguaje nuevo ni llamativo, pero sí un compañero confiable a largo plazo
Antes programaba en Clojure todos los días, y recuerdo haber cenado con Rich Hickey en Clojure/Conj
Mi primera startup también la hice completamente en Clojure, y fui uno de los primeros en experimentar compilando Clojure a JS y ejecutándolo en Lambda en una época en la que AWS apenas tenía unos cuantos servicios
Incluso ahora me emociona pensar en ver videos relacionados con eso
He usado Clojure desde 2013, y ha sido un lenguaje con un impacto muy positivo en mi vida
Soy un usuario algo poco convencional: la mayor parte de mi trabajo artístico está hecho en Clojure
Incluso cuando dirigía una startup, Clojure me ayudó a evitar el burnout
Participar en la comunidad también ha sido una gran alegría, y agradezco la dedicación de muchísimas personas
Clojure es un gran lenguaje y un gran ecosistema
Al principio hice donaciones al proyecto de Rich, y durante varios años gané dinero desarrollando en Clojure
Ya no lo uso tanto, pero incluso hace dos horas me divertí actualizando ejemplos de un viejo libro de Clojure
Y también me pregunto si crees que Clojure es adecuado para aplicaciones de ML/AI, y por qué no se usa más ampliamente aunque tenga buen interop con Python
En la JVM, Clojure es mi lenguaje alternativo favorito
Hereda la tradición de Lisp, pero en vez de prometer absurdamente que va a reinventar la JVM, me atrae su filosofía de abrazar la plataforma anfitriona
Zig también sigue una línea parecida, y siento que esta filosofía de integración es clave para mejorar la adopción y la practicidad
Está realmente excelente. Solo me da pena que no incluyeran a borkdude
La expresión de jwr, “compañero confiable a largo plazo”, se me quedó muy marcada
Las empresas donde trabajé que solo perseguían la novedad terminaron gastando más tiempo en migraciones
La estabilidad puede sonar aburrida, pero es la única forma en que un equipo pequeño puede sobrevivir por mucho tiempo
Me gustaba mucho usar Clojure, pero la mayor parte de mi trabajo requería interactuar con C, así que era difícil tenerlo como lenguaje principal
No sabía que Datomic ahora era gratis en términos de licencia. Antes no lo usaba porque el costo era demasiado alto, pero ahora me parece interesante
Por ejemplo: Datalevin, Datahike, Asami
También está XTDB, aunque dejó Datalog y tomó otra dirección
También hay un sitio de comparación: Clojurelog (un poco desactualizado)