Un robot escribiendo código

Desarrollo de software dirigido por Inteligencia Artificial

El mundo del desarrollo de software está experimentando una revolución sin precedentes gracias a los avances en el campo de la Inteligencia Artificial, los diferentes algoritmos de procesamiento del lenguaje natural están transformando la forma en que se desarrollan, prueban y mantienen las aplicaciones, lo que generará una serie de cambios significativos en la industria.

Uno de los avances más destacados en la inteligencia artificial son los grandes modelos del lenguaje (LLM, por sus siglas en inglés) que ha revolucionado no sólo la forma en que los sistemas de software interactúan y comprenden el lenguaje humano sino que está revolucionando la propia sociedad en sí. Vemos como ChatGPT es cada vez más certero e interactúa de manera mas natural, también sabe programar y lo hace bastante bien pero sobre todo rápido.

Se viene avisando hace tiempo: «El proceso de desarrollo de software va a cambiar enormemente». En un futuro no muy lejano la forma en que creamos aplicaciones y sistemas informáticos será radicalmente diferente de lo que conocemos actualmente, la necesidad de escribir código fuente que luego se compile y ejecute o se interprete podría convertirse en una práctica obsoleta, dando lugar a enfoques más avanzados e intuitivos impulsados por la inteligencia artificial y el aprendizaje automático.

Esto democratizará la creación de aplicaciones, cualquiera podrá crearse la aplicación que necesite, puede que ni siquiera ser necesario crearlas pero hasta llegar a ese punto cada vez serán necesarios menos desarrolladores para ello por lo que en el proceso se perderán muchos puestos de trabajo y será más difícil entrar en el mundillo para los que empiezan, es inevitable por mucho que nos duela.

Incluso ya se puede intuir en la lejanía la automatización del proceso, en el estado actual ya es posible pedir a un algoritmo como el de ChatGPT los scripts necesarios en casi cualquier lenguaje, también podemos describirle de forma textual los elementos que necesitamos para cada una de las pantallas de nuestra aplicación y nos dará el código fuente, hasta crear los tests y pasárselos para que nos cree el código fuente que los pase cubriendo así nuestro caso de uso, o pedirle los tests y luego las pantallas, lo hará bastante bien y rápido.

Necesito el código fuente en Flutter para crear una pantalla con un Drawer lateral que contenga una foto de perfil y una lista de elementos, un mapa y un Floating Action Button que me permita abrir un nuevo formulario en forma de Dialog

O una animación de carga:

La animación de un círculo girando en el centro con un texto de «Cargando…» y tres puntos suspensivos animados debajo

En cuestión de minutos nos proporcionará el código fuente listo para ser compilado, con una estructura coherente y bien organizada, aunque estas herramientas de IA pueden no ser perfectas y es posible que se requiera la intervención humana para añadir elementos faltantes o corregir errores, el tiempo y esfuerzo ahorrados en la generación inicial del código son altamente considerables.

¿Y ya de pedirle una una porqué no pedirle todas?

Podríamos de esta forma crear múltiples elementos de manera simultánea obteniendo así rápidamente todo el código básico necesario para crear la aplicación, lo que permitiría a los desarrolladores centrarse en integrar estos componentes, solucionar posibles problemas y configurar el entorno para la compilación final.

Esta tendencia hacia la automatización y la generación de código mediante algoritmos de Inteligencia Artificial se encuentra en constante evolución y se prevé que se convierta en una práctica común en el desarrollo de software muy pronto, a medida que estas herramientas continúen mejorando y ganando en precisión y eficiencia la brecha entre la generación automática de código y la intervención humana se irá reduciendo, lo que permitirá a los desarrolladores centrarse aún más en la innovación y en la creación de soluciones de software altamente personalizadas y eficientes.

Lo decía al principio, no hay que ser muy observador para ver la revolución que se viene en el proceso del desarrollo de software, ya es algo palpable simplemente abriendo un poco los ojos e interactuando con cualquiera de estos algoritmos, enseguida uno puede darse cuenta que son más rápidos y precisos que nosotros, podemos ponernos a discutir si lo hace mejor o peor, si se equivoca o se inventa cosas, pero para eso estamos nosotros, para corregirlo.

Se plantea un futuro en el que la creación de aplicaciones será más accesible, a medida que las herramientas de inteligencia artificial continúen evolucionando es probable que veamos una mayor integración de estas tecnologías en todos los aspectos del desarrollo de software, aunque la intervención y el conocimiento humano seguirán siendo cruciales para garantizar que las soluciones creadas sean verdaderamente eficaces y satisfagan las necesidades de los usuarios, estas tecnologías cambiarán la forma en que trabajan permitiéndoles centrarse en áreas donde su experiencia y creatividad pueden marcar una verdadera diferencia en la calidad y el impacto de las soluciones de software que creen.

¿Hemos entrado en la era del Desarrollo de software Dirigido por Inteligencia Artificial (AIDD, por sus siglas en Inglés)?

Puedes utilizar la zona de comentarios si quieres compartir algo.

Leave a Comment