
Pensaba que Go era el lenguaje ideal para la IA, pero estaba equivocado: El caso de Elixir y Phoenix

Héctorbliss
@blissitoEscuchar este post
Selecciona una voz y genera audio para escuchar este post
En un artículo anterior, exploramos por qué la simplicidad y predictibilidad de Go lo convertían en un lenguaje sorprendentemente eficaz para la generación de código con asistentes de IA, a menudo superando a gigantes flexibles como TypeScript. La conclusión era clara: las reglas estrictas y la sintaxis minimalista de Go le dan a la IA un camino seguro para generar código robusto.
Pero, ¿y si la clave no fuera solo la simplicidad sintáctica, sino la coherencia arquitectónica?
Tras experimentar más y analizar las capacidades de los LLMs más recientes, he llegado a una nueva conclusión: hay un dúo que lleva esta sinergia a un nivel superior. Elixir y su framework web, Phoenix, son, posiblemente, el mejor entorno que existe hoy para la generación de código asistida por IA.
La razón es sutil pero poderosa. Mientras que Go es excelente para que una IA escriba funciones correctas, Elixir y Phoenix son excepcionales para que una IA construya aplicaciones coherentes.
Más Allá de la Sintaxis: El Poder de una Arquitectura Opinada
Phoenix no es solo una colección de herramientas; es un sistema con una filosofía clara sobre cómo se debe estructurar una aplicación web. Esta "opinión fuerte", que a veces puede parecer restrictiva, es el superpoder que guía a la IA.
-
El Concepto de "Contextos": Un Mapa para la IA Phoenix organiza la lógica de negocio en "Contextos". Un contexto es un módulo que agrupa todo lo relacionado con una parte de tu dominio. Por ejemplo, en una aplicación de e-commerce, tendrías un contexto
Catalogo
para los productos y un contextoVentas
para los pedidos.Para un LLM, esto es un mapa del tesoro. Si le pides: "Añade un sistema de reseñas de productos", la IA no tiene que adivinar. Sabe que debe:
- Crear un esquema
Review
dentro del contextoCatalogo
. - Generar funciones como
create_review
,list_reviews_for_product
, etc., dentro de ese mismo contexto. - Crear el controlador y las vistas correspondientes.
La IA no solo escribe código; entiende la arquitectura.
- Crear un esquema
-
Código Declarativo: Hablando el Idioma de la IA Gran parte del código en Elixir y Phoenix es declarativo. En lugar de dar instrucciones paso a paso (estilo imperativo), describes el resultado final.
- Rutas:
get "/products/:id", ProductController, :show
declara una ruta. - Esquemas: Defines los campos y sus tipos, y el framework se encarga del resto.
- Pipelines (
|>
): Describes una secuencia de transformaciones de datos de forma lineal y legible.
Este estilo se parece mucho más a cómo le damos instrucciones a una IA en lenguaje natural ("valida los datos, luego crea el usuario, luego envía una notificación"). El LLM puede traducir el prompt a código declarativo con una fiabilidad asombrosa.
- Rutas:
-
Generadores Nativos como Guía Maestra Phoenix incluye generadores de código (
mix phx.gen.html
, etc.) que crean módulos enteros siguiendo las mejores prácticas del framework. La IA ha sido entrenada con miles de ejemplos de este código "perfecto", por lo que sus propias generaciones siguen el mismo patrón de alta calidad. No solo imita el código; imita la filosofía del framework.
La Verdadera Diferencia: Función vs. Característica
Aquí reside la distinción clave:
-
Go es excelente para generar funciones. Si le pides a la IA "escribe un algoritmo eficiente para procesar este archivo CSV", la simplicidad de Go asegura que el código generado será probablemente correcto y performante. Es una tarea autocontenida.
-
Elixir/Phoenix es superior para generar características completas (features). Si le pides "añade un carrito de la compra", la IA tiene la guía arquitectónica de Phoenix para generar el contexto, el esquema, el controlador, las rutas y las vistas de manera coherente y conectada. Es una tarea sistémica.
Conclusión: El Siguiente Nivel de Desarrollo Asistido por IA
Si estás empezando y quieres elegir un lenguaje que no solo sea potente y moderno, sino que también te permita colaborar de la forma más eficaz posible con las herramientas de IA, dale una oportunidad a Elixir y Phoenix.
Mientras que Go te dará un copiloto de IA fiable para escribir fragmentos de código, Elixir y Phoenix te ofrecen un arquitecto de IA capaz de ayudarte a construir y ampliar sistemas complejos con una coherencia que ningún otro ecosistema puede igualar hoy en día. La IA no solo te ayuda a escribir líneas de código; te ayuda a pensar en la estructura de tu aplicación. Y ese es un cambio de juego fundamental.
Abrazo. Bliss. 🤓
¿Cómo hago para añadir mis propios colores a Tailwind CSS?
Checa este otro Post
