El «fin de la programación» se parecerá mucho a programar (2023)
Las afirmaciones de que la IA traerá un «fin de la programación» inminente provocan reacciones encontradas, y muchos ingenieros sostienen que los modelos de lenguaje actuales son asistentes potentes pero están lejos de reemplazar a los desarrolladores humanos. Los comentaristas señalan desafíos persistentes en torno a requisitos ambiguos, mantenimiento, responsabilidad, seguridad y casos límite del mundo real, comparando el entusiasmo actual con oleadas anteriores de UML, herramientas no-code y desarrollo externalizado que prometieron eliminar a los programadores pero en realidad solo cambiaron su forma de trabajar. El consenso emergente es que la IA se encargará cada vez más del código repetitivo y rutinario, mientras que los humanos se centrarán más en la especificación, las pruebas, la arquitectura y la supervisión, en lugar de desaparecer del proceso.
Alcance del «fin de la programación»
- Muchos sostienen que «no programar» significaría que las IAs manejarían de forma independiente tareas de extremo a extremo (correos electrónicos, APIs, contratar otras IAs, etc.), con los usuarios emitiendo solicitudes en lenguaje natural como «muéstrame mis mejores clientes», sin código explícito ni interfaces.
- Otros creen que el «fin» simplemente desplaza la programación a un lenguaje a medias natural y a medias formal, o a especificar reglas, pruebas y requisitos en lugar de escribir funciones.
Realidad actual y a corto plazo
- Hoy en día, los LLM se consideran:
- Autocompletado potente para lenguajes verbosos.
- Q&A más rápido que buscar en Stack Overflow.
- Buenos para plantillas, líneas únicas y pruebas iniciales, pero no para sistemas complejos o novedosos.
- Varios informan éxito con agentes que pueden leer y escribir archivos, iterar y corregir errores simples (p. ej., juegos pequeños), aunque siguen teniendo dificultades con bases de código desconocidas o complejas.
¿Serán reemplazados los programadores?
- Visión escéptica:
- La dificultad de programar está en entender requisitos, compensaciones y deseos humanos, no la sintaxis.
- La historia de las herramientas CASE, UML, 4GL, no-code/low-code: desplazaron el trabajo en vez de eliminar a los programadores.
- Los LLM se enfrentan a desajustes entre «realidad y texto» (p. ej., bugs de hardware, restricciones del mundo real), así que la supervisión humana se ve como permanente.
- Visión más optimista:
- A medida que mejoren los modelos, manejarán tanto la codificación como el mantenimiento; los humanos quizá se limiten principalmente a especificar el comportamiento y escribir pruebas.
- Los desarrolladores pueden evolucionar hacia arquitectos, tech leads o «prompt programmers» gestionando flotas de agentes de IA.
Responsabilidad, pruebas y especificaciones
- Se hace mucho hincapié en que la IA no puede ser legalmente responsable; las organizaciones seguirán necesitando humanos que asuman los resultados.
- Muchos prevén que los programadores se convertirán en redactores de pruebas/especificaciones: las pruebas y las propiedades codifican la verdadera lógica de negocio, mientras la IA genera las implementaciones.
- Escribir buenos requisitos se destaca como al menos tan difícil como programar; las especificaciones en inglés sencillo seguirán necesitando precisión.
Preocupaciones económicas y organizativas
- Las empresas presionarán para que la IA reduzca costes, incluso cuando la calidad se resienta, como ya se ha visto con la subcontratación y algunos flujos de trabajo asistidos por IA.
- Los temores se centran menos en un reemplazo total y más en:
- Reducción de personal y presión sobre los desarrolladores más débiles.
- Micromanagement y puntuación automatizada del rendimiento impulsados por IA.
- Entornos híbridos en los que los humanos deben mantener sistemas «hairball» generados por IA con poco control sobre el diseño subyacente.