26 puntos por GN⁺ 2026-02-02 | 1 comentarios | Compartir por WhatsApp
  • antirez define el proceso de escribir software con ayuda de IA como ‘Automatic Programming’, y anticipa que pronto se convertirá en el estándar para desarrollar software
  • Incluso usando el mismo LLM, la intuición humana, el diseño y el ajuste continuo de la dirección cambian enormemente el resultado
  • El vibe coding consiste en dejar el trabajo a la IA sin una gran comprensión, mientras que la programación automática parte de una visión clara y control por parte del desarrollador
  • Incluso el código generado por IA se basa en datos de preentrenamiento y criterio acumulados por humanos, y la propiedad del resultado pertenece al desarrollador
  • La programación se automatiza cada vez más, pero las ideas y la visión siguen siendo territorio humano

Definición del concepto de Automatic Programming

  • Se denomina programación automática (Automatic Programming) al proceso de escribir software con apoyo de IA
  • Este enfoque pronto se convertirá en el proceso estándar para crear software

Diferencia frente al vibe coding

  • El vibe coding es una forma de generar software con IA sin participar realmente en el proceso
    • Si describes lo que quieres en términos muy generales, el LLM genera la primera idea, diseño o código que le surge de manera natural según sus datos de entrenamiento y el muestreo específico de esa ejecución
    • El vibe coder, a lo mucho, reporta qué parte no funciona o no coincide con lo esperado
  • La programación automática busca alta calidad y sigue estrictamente la visión de software del productor
    • Esa visión es multicapa: incluye desde indicar con precisión cómo realizar cierta tarea hasta instruir directamente a la IA sobre cómo escribir una función específica
    • Qué se va a hacer también es un elemento clave

Importancia del factor humano

  • Incluso con el mismo LLM, el resultado cambia mucho según la intuición, el diseño, el ajuste continuo de la dirección y las ideas sobre el software de la persona que conduce el proceso
  • La expresión “Claude hizo vibe coding de este software” no es adecuada
  • Si entiendes lo que está ocurriendo y estás produciendo software real en ese proceso, entonces es software producido por ti

Perspectiva sobre la propiedad del código

  • Los datos de preentrenamiento no son lo único de lo que aprende un LLM (RL también tiene un peso importante), pero sí fueron producidos por humanos
    • Por lo tanto, no se está apropiando de algo ajeno
  • Podemos llamar “nuestro” al código generado por IA, y tenemos derecho a hacerlo
  • El preentrenamiento es un regalo colectivo que permite a muchas personas hacer cosas que por sí solas jamás podrían lograr
    • Es parecido a estar conectados, de cierta forma, a una mente colectiva
  • El código generado mediante programación automática es tu código, tu resultado, tu producto, y puedes sentir orgullo por ello

Caso Redis

  • En Redis no hay tanta novedad técnica especial
    • En su etapa inicial, no era más que una combinación de estructuras de datos básicas y código de red que cualquier programador de sistemas competente podría haber escrito
  • Aun así, se convirtió en un software muy útil por las ideas y la visión que contenía

Conclusión

  • La programación ya se automatizó, pero la visión todavía no

1 comentarios

 
GN⁺ 2026-02-02
Comentarios en Hacker News
  • Llevo más de 30 años de carrera en la industria y últimamente me he metido de lleno en el desarrollo guiado por especificaciones (spec-driven development)
    Uso Claude Code y GPT-5.2 (CoPilot) para generar requisitos, y voy puliendo la especificación repitiendo varias veces la auto-revisión (self-review)
    Cuando Claude Code toma la especificación terminada y escribe el plan de implementación y el código, las funciones principales quedan listas en 20 minutos
    Me recuerda a la metodología waterfall de mi época en la industria de defensa, pero siento que gracias a la IA ahora es posible un enfoque de “cascada aumentada (augmented cascade)” mucho más rápido y refinado

    • Para que waterfall funcione bien, hace falta una visión de largo plazo y que quien escribe la especificación y quien desarrolla sean la misma persona
      Agile fue la respuesta de empresas donde esas condiciones eran imposibles, para poder sacar productos rápido y sobrevivir
    • Yo también creo que el futuro de la programación será centrado en especificaciones
      Me pregunto si hay ejemplos públicos de especificaciones que valga la pena revisar. Así como la generación anterior admiraba el código de Quake de John Carmack, siento que la próxima generación va a venerar grandes especificaciones
    • Por muy detallada que sea una especificación, es difícil evitar el choque con la realidad
      Los humanos no pueden prever toda la complejidad y todos los casos excepcionales. Cuando realmente construyes algo, siempre aparece una parte de “esto no lo pensé”
    • Agile es una forma de ir encontrando gradualmente la dirección correcta en entornos donde los requisitos cambian
      Si los requisitos ya están claros, realmente no hace falta
    • Al final, este enfoque se parece a una versión moderna del concepto de Design by Contract
      La diferencia es que, en vez de equipos subordinados, se usan LLM
      Material relacionado: Design by Contract (Goodreads), PDF original
  • No estoy de acuerdo con la expresión de que “el pre-training es un regalo colectivo de la humanidad”
    Si fue robado, no es un regalo
    Incluso si el código fue generado por un LLM, si yo me hago responsable y lo mantengo, entonces lo considero mi código
    El problema aparece cuando el autor evade la responsabilidad

    • La expresión “regalo robado” me produjo rechazo instintivo
    • El conocimiento no es algo que se pueda robar. Así como no decimos que alguien robó las matemáticas, creo que el intercambio de conocimiento en sí es la esencia del progreso humano
  • Después de usar Claude Code y Opus 4.5, llegué a una conclusión parecida
    Yo lo llamo “zen coding”. Trato el codebase como un jardín zen, diseño la especificación con detalle y reviso línea por línea
    La IA debe funcionar no como diseñadora, sino como herramienta
    Quien tiene una especificación clara puede obtener código de mucha mayor calidad de la IA
    Vibe coding es experimentación intuitiva; Zen coding es la práctica de un artesano

  • Cuando escucho expresiones como “Claude me lo dio”, me da la impresión de que todavía será código con pinta de borrador
    No hace falta culpar a la herramienta ni disculparse; basta con mejorar el resultado

    • El problema es que ahora se puede avanzar bastante lejos sin preocuparse mucho por la arquitectura o la calidad del código
    • Por eso mismo, hay que subir las expectativas y usar automatización para elevar la calidad de las apps vibe-coded
  • Me incomoda la expresión “el pre-training es un regalo de la humanidad”
    Muchos desarrolladores de open source no querían que su código se usara para entrenar LLM
    Parte del código generado por LLM que he visto copiaba casi tal cual código de libros o blogs que yo ya conocía
    Como mínimo, creo que lo correcto sería indicar la fuente

    • Todo desarrollo se apoya sobre los hombros de quienes vinieron antes. No existe la creación totalmente independiente
    • Las licencias open source y el dominio público son cosas legalmente distintas
      Si se entrenó un LLM con código GPL, se podría interpretar que sus resultados también deberían publicarse bajo GPL
    • Históricamente ha habido muchos casos en que una obra se usó sin importar la voluntad de su creador
      Por ejemplo, Kafka pidió que quemaran sus manuscritos, pero hoy son clásicos de la literatura
    • También está la réplica de “cuando implementas Quicksort, ¿le das crédito a Hoare?”
    • La propiedad intelectual tampoco es absoluta y, si hace falta, puede ser socialmente expropiada (expropriation)
  • En los años 50 y 60, “automatic programming” en realidad significaba compiladores
    Los 4GL de los años 80 eran lenguajes de alto nivel especializados por dominio, y los LLM de hoy están en la etapa de generar borradores a partir de especificaciones en lenguaje natural
    Al final, los humanos todavía tienen que elevar la calidad mediante correcciones iterativas y cambios de diseño

  • Tal vez estamos viendo a la última generación de desarrolladores artesanales (artisanal coders)
    Artesanos como Antirez manejan conceptos que van más allá de los límites humanos y crean software simple y bello, como Redis
    La IA produce código a una velocidad imposible para un humano, pero eso no es el pincel ni el lienzo
    La nueva generación será artesana de una forma completamente distinta
    Yo también tengo miedo, pero estoy aceptando estas nuevas herramientas y experimentando una nueva era del oficio

    • En ajedrez tampoco los humanos pueden vencer a las computadoras, y aun así sigue siendo muy popular
    • Antirez ahora se parece más a un influencer de IA, pero programar sigue siendo una actividad disfrutable
    • Aunque los LLM ayuden con el código, seguir entendiendo los conceptos básicos y la estructura sigue siendo indispensable
      Solo se suma la capacidad de manejar bien la IA; el conocimiento previo no se vuelve innecesario
  • Me impresionó que en el texto de Antirez se distinguiera claramente la diferencia entre “vibe coding” y “automatic programming
    Es un cambio parecido al paso de la época en que los arquitectos dibujaban planos a mano hacia BIM y CAD
    En la era de la IA, los desarrolladores no programan menos; cambia el foco del valor

  • “vibe coding vs automatic coding” no es una dicotomía, sino un espectro
    Incluso dentro de un mismo proyecto se pueden mezclar varios niveles de enfoque

    • Como la salida del LLM cambia según el nivel técnico y la intención del usuario, al final el resultado le pertenece al usuario
      Lo importante es usar la herramienta de forma crítica y seguir mejorándola continuamente
    • La IA es como un instrumento musical que puede tocarse de muchas maneras
      Hay quienes a esto le llaman “spec strumming