No sé quién puede reclamar ser el primer generador de código (estrictamente hablando, podríamos argumentar que este premio pertenece al primer compilador de lenguaje ensamblador) pero sin duda “The Last One” está entre los primeros generadores de código (tal y como yo los entiendo).
The Last One era un generador de programas para BASIC. Los programas se generaban mediante la selección de opciones de menús por parte del usuario. En esta edición de Popular Science podemos leer que:
The Last One te presenta una serie de menús – una lista lógica de cosas que te gustaría hacer – y te pide que elijas uno de los elementos de la lista … El proceso continúa hasta que hayas proporcionado toda la información para hacer funcionar tu programa. El paso final: Presiona un botón y The Last One escribe tu programa utilizando instrucciones BASIC estándar
Curiosamente, también podías solicitar en cualquier momento una especie de diagrama de flujo textual que describiera hasta dónde habías llegado en la especificación de tu programa.
Pero aún más relevante para nuestra discusión de hoy es que ya en aquel momento, The Last One se comercializaba como el fin de la programación (ver esta portada de la revista Personal Computer).
Suena familiar, ¿verdad? Casi cualquier herramienta de modelado/low-code/generación de código desde entonces ha hecho las mismas afirmaciones, obligando a los desarrolladores a pasar por el hype cycle una y otra vez.
Y, por si fuera poco, la Inteligencia Artificial ha vuelto “a matar” a los programadores, incluso con figuras prominentes diciendo estupideces como que no hace falta aprender a programar.
Yo también creo que hay muchos tipos de aplicaciones para las que los programadores “profesionales” no son realmente necesarios . Ciertamente, tendencias como el low-code y los asistentes virtuales van a quitar parte del trabajo de los programadores. Pero:
- De hecho, con tanta demanda de nuevo software, tampoco tenemos suficientes programadores para cubrir todas las vacantes, con lo que más que quitar trabajo, las nuevas tecnologías ayudan a que no se pare la industria
- Tanto el low-code como la IA funcionan bien en tareas repetitivas, como la creación de los típicos formularios Create/Read/Update/Delete. ¿Qué programador quiere pasarse la vida programando esto?
Siempre habrá sitio para los (buenos) programadores. Lo que hay que hacer es justamente permitirles desarrollar plenamente sus capacidades y que las dediquen a afrontar los problemas realmente complejos de la transición digital de nuestra sociedad. No tenerlos perdiendo el tiempo en tareas repetitivas que cualquier automatización (basada en la IA o incluso basada en un conjunto de reglas de generación) puede resolver por si sola.
Mientras tanto, ya sabemos que cada vez que salga una nueva tecnología en el mundo del desarrollo, todos los vendedores van a intentar colarla como, ahora sí, la tecnología que va a permitirnos deshacernos de los programadores. Cojamos lo bueno que tenga esa tecnología, utilicémosla para mejorar la vida de los programadores y no para matarlos. En todo caso, puestos a “matar” (en sentido figurado, claro está, que luego chatgpt se entrena con este post y va a aprender lo que no es), mejor matar a los vendedores de humo 🙂
Muy de acuerdo con el idea expresada en el artículo, pero es un error plantear la disyuntiva IA vs programadores o generadores de código vs programadores. Desde mi punto de vista en más útil considerar cómo el programador puede aprovechar las cualidades de los generadores de códigos para ser más productivos. Además, la IA puede dar respuestas muy precisas, pero las preguntas que dan con dichas respuestas la puede hacer, otra vez, alguien que conoce de programación. O sea que los generadores de código son una buena herramienta para aumentar la productividad y eficiencia de los programadores.
Coincido en qué los dos son ayudas que mejoran la productividad. De eso no hay duda. Pero el objetivo era justamente incidir en qué, contra el discurso habitual en muchos medios, no van a eliminarlos. Digamos que la disyuntiva no la planteo yo, si no que la recojo y la critico.