El argumento que nadie esperaba: los lenguajes funcionales son mejores aliados de la IA
Hay una paradoja silenciosa en el corazón del desarrollo moderno: los lenguajes de programación más populares —JavaScript y Python— son, en muchos casos, los peores candidatos para trabajar con modelos de lenguaje (LLMs). Y en cambio, un lenguaje relativamente de nicho llamado Elixir está demostrando ser, quizás, el mejor aliado que los founders tech podían encontrar en la era de la IA aplicada al desarrollo de software.
Esto no es especulación. Es el resultado de un replanteamiento profundo sobre qué hace que un lenguaje sea legible, verificable y depurable, no solo por humanos, sino por máquinas.
¿Qué tiene que ver Grace Hopper con todo esto?
Grace Hopper, pionera de la computación y creadora del primer compilador, apostó por hacer que las máquinas entendieran al humano. Décadas después, el movimiento se invierte: ahora son las máquinas (los LLMs) quienes escriben código, y los humanos quienes deben especificar, revisar y verificar. Ese cambio de roles es lo que algunos llaman la «venganza de Grace Hopper»: el código ya no es solo para que lo lea un programador, sino para que lo escriba, entienda y depure una IA.
👥 ¿Quieres ir más allá de la noticia?
En nuestra comunidad discutimos las tendencias, compartimos oportunidades y nos ayudamos entre emprendedores. Sin humo, solo acción.
👥 Unirme a la comunidadY ahí es donde el diseño del lenguaje importa más que nunca.
Por qué la inmutabilidad cambia las reglas del juego con LLMs
Los lenguajes imperativos como Python y JavaScript permiten que el estado del programa cambie en cualquier momento: variables que se modifican, objetos que mutan, efectos secundarios que se propagan de formas impredecibles. Para un ser humano con contexto completo, eso puede ser manejable. Para un LLM generando o verificando código, es un infierno lógico.
Los lenguajes funcionales como Elixir eliminan ese problema de raíz. Sus principios clave son:
- Inmutabilidad: los datos no cambian una vez creados. No hay mutaciones ocultas ni efectos a distancia.
- Funciones puras: la misma entrada produce siempre la misma salida. Sin sorpresas, sin contexto implícito.
- Composabilidad: el operador
|>de Elixir permite construir pipelines de datos legibles y predecibles, ideales para que un modelo de IA genere o audite paso a paso.
Estas características hacen que el código sea mucho más fácil de razonar, tanto para humanos como para modelos de lenguaje. No es necesario simular la ejecución completa para entender qué hace una función.
Los benchmarks hablan: Elixir duplica el rendimiento de los LLMs
Un paper de investigación publicado en 2025 encontró que los LLMs generan código correcto en Elixir con el doble de tasa de éxito que en Python o JavaScript. Esto es contraintuitivo, porque hay mucho más código Python y JS en los datos de entrenamiento. Pero la clave no es la cantidad de entrenamiento, sino la calidad y consistencia del código generado.
Según el análisis publicado en Elixir Forum y comentado ampliamente en Hacker News, los modelos generan marginalmente menos código en Elixir que en lenguajes mainstream —porque hay menos ejemplos de entrenamiento—, pero el código que sí generan es notablemente más correcto, más legible y más fácil de modificar por un humano.
El contraste es revelador:
| Aspecto | Elixir (Funcional) | JS / Python (Imperativo) |
|---|---|---|
| Tasa de acierto LLM | 2x mayor | Menor, con bugs ocultos |
| Calidad del código | Predecible, verificable | Estado mutable, difícil de trazar |
| Revisión humana | Sencilla y auditable | Requiere rastrear todo el estado |
| Tolerancia a fallos | Alta (OTP, supervisión) | Propensa a crashes en runtime |
El nuevo rol del founder tech: especificar y verificar, no escribir
Este cambio tiene implicaciones directas para los founders que construyen productos con IA. El modelo emergente de desarrollo de software no es «el humano escribe código», sino:
- El humano especifica qué debe hacer el sistema (requisitos, contratos, comportamiento esperado).
- La máquina escribe el código.
- El humano verifica que el resultado sea correcto y seguro.
- La máquina depura iterativamente bajo supervisión.
En ese flujo, un lenguaje como Elixir brilla porque sus patrones son repetibles y consistentes. Zach Daniel, autor del framework Ash para Elixir, documentó cómo pasó de tener agentes LLM «prácticamente inútiles» para su desarrollo a generar código idiomático y listo para producción, simplemente aprovechando las convenciones claras del ecosistema funcional.
Claridad, simplicidad y patrones repetibles: el tridente de la auditabilidad
Una de las lecciones más accionables de este análisis es que la auditabilidad del código es la nueva métrica clave en la era de la IA generativa. No basta con que el código funcione: tiene que poder ser revisado, comprendido y corregido rápidamente, tanto por un humano como por un agente autónomo.
Los lenguajes funcionales ganan en este terreno por tres razones concretas:
- Claridad: La sintaxis de Elixir es compacta. Cuenta con alrededor de 120 módulos core y ~2.000 funciones, frente a las más de 15.000 de Python. Menos superficie cognitiva significa menos ambigüedad para el modelo generador.
- Simplicidad: No hay herencia múltiple, no hay gestión de memoria manual, no hay estados implícitos. El código dice exactamente lo que hace.
- Patrones repetibles: El ecosistema funcional favorece estructuras canónicas que los LLMs pueden replicar con alta fidelidad.
¿Qué significa esto para founders que construyen con IA hoy?
Si estás construyendo un producto SaaS, una herramienta de automatización o cualquier sistema donde los LLMs van a escribir, revisar o mantener código, la elección del lenguaje no es trivial. Algunos puntos accionables:
- Evalúa Elixir para backends críticos donde la confiabilidad y la tolerancia a fallos sean esenciales. Su modelo de procesos ligeros con OTP es especialmente poderoso para sistemas distribuidos y agentes de IA concurrentes.
- Diseña con funciones puras desde el inicio. Incluso si usas Python o JavaScript, reducir el estado mutable y los efectos secundarios mejora dramáticamente la capacidad de los LLMs para trabajar con tu codebase.
- Piensa en «verificabilidad» como un atributo de diseño. Si un LLM no puede razonar sobre tu código, tampoco podrá depurarlo de forma autónoma.
- Aprovecha los agentic loops. En flujos donde el agente itera automáticamente, los lenguajes con tipado estático y compilación estricta (como Elixir con Dialyzer) detectan errores antes de llegar al runtime, acortando los ciclos de corrección.
El contexto histórico: por qué Elixir tiene una ventaja estructural
Creado en 2011 por José Valim, Elixir nació sobre la BEAM (la máquina virtual de Erlang), heredando décadas de ingeniería orientada a sistemas de alta disponibilidad usados en telecomunicaciones. Esto le da una posición privilegiada: tiene suficiente código de calidad en datasets de entrenamiento, sin el «ruido histórico» de lenguajes como Python (que arrastra la transición Python 2/3 y patrones desactualizados).
Ese punto dulce de «suficiente data, alta consistencia» es exactamente lo que los modelos de lenguaje necesitan para generar código confiable.
Conclusión
La venganza de Grace Hopper no es solo una metáfora poética: es una descripción precisa de hacia dónde va el desarrollo de software. Las máquinas están tomando el rol de escritoras de código, y los humanos nos convertimos en arquitectos y verificadores. En ese nuevo mundo, el diseño del lenguaje importa más que nunca.
Elixir —y los lenguajes funcionales en general— no son solo una preferencia estética de programadores académicos. Son, cada vez más, la infraestructura estratégica más inteligente para founders que quieren construir con IA de forma confiable, auditable y escalable.
La pregunta no es si vas a usar LLMs para escribir código. La pregunta es en qué lenguaje quieres que lo escriban.
Descubre cómo otros founders implementan IA y lenguajes funcionales para escalar sus productos.
Fuentes
- https://www.thefuriousopposites.com/p/grace-hoppers-revenge (fuente original)
- https://revelry.co/insights/artificial-intelligence/which-language-is-best-for-ai-code-generation/ (fuente adicional)
- https://elixirforum.com/t/paper-finds-llms-perform-twice-as-well-with-elixir-than-with-python-or-javascript/73284 (fuente adicional)
- https://www.zachdaniel.dev/p/llms-and-elixir-windfall-or-deathblow (fuente adicional)
- https://hackernoon.com/comparing-llms-coding-abilities-across-programming-languages (fuente adicional)













