¿Pueden las tecnologías de inteligencia artificial como #ChatGPT reemplazar a los programadores humanos? La respuesta corta es: no del todo, o citando el refranero español «No todo el monte es oregano»
A pesar de lo rimbombante del titular, si queridos CEOs, CIOs y CTOs del mundo siento deciros que no va a mejorar la capacidad de contratación de personal cualificado, pero bueno, os expongo mi reflexión, #GOOGLE ponte las pilas la era del desarrollador «google paste» si llega a su fin, y la mitica frase «Como puede costar eso, si esto mi hijo lo hace con un excel en 5 minutos», si puede que sea sustituida por «Como puede costar eso, si con #ChatGPT…».
Para crear una innovación algo nuevo esto no tiene que existir, y «google paste» así como la #IA y su #bigdata, en estos casos, deja al desarrollador novel con pocas ideas ante la soledad de un lienzo en blanco, si bien es verdad que ya en la era google, la inspiración en el código abierto y el software de código abierto proporcionan ayuda y varias ventajas a la comunidad de desarrolladores. Algunas de estas ventajas incluyen:
- Colaboración: al permitir que varias personas trabajen en el mismo proyecto de software, el código abierto permite una mayor colaboración y un rápido desarrollo del software.
- Innovación: al permitir que varias personas tengan acceso al código fuente, el código abierto fomenta la innovación y permite que los desarrolladores creen nuevas funciones y corrijan errores.
- Accesibilidad: el código abierto permite que cualquier persona tenga acceso al código fuente, lo que significa que los desarrolladores pueden utilizar y modificar el software libremente, lo que permite una mayor accesibilidad al software.
- Mejora de la calidad: al permitir que varias personas trabajen en el mismo proyecto, el código abierto fomenta una mayor calidad del software al permitir una mayor revisión y prueba del código.
- Economía: el código abierto permite a las empresas y organizaciones ahorrar costos al no tener que pagar licencias de software.
Sin embargo, también existen algunos inconvenientes a tener en cuenta al utilizar software de código abierto, como la falta de soporte técnico formal y la falta de garantía de calidad. Es importante evaluar estos aspectos al utilizar software de código abierto en un proyecto.
En resumen, el código abierto y el software de código abierto proporcionan una gran cantidad de ventajas a la comunidad de desarrolladores, como la colaboración, la innovación, la accesibilidad, la mejora de la calidad y la economía, pero también tiene algunos inconvenientes, como la falta de soporte técnico formal y la falta de garantía de calidad. Es importante evaluar estos aspectos al utilizar software de código abierto en un proyecto.
A modo de buscar algo de inspiraciojn rapida y de no mancharse mucho en el barro del GitHub o reinvenar lo ya inventado, #ChatGPT y otras tecnologías de #IA pueden ser muy útiles para automatizar algunas tareas relacionadas con la programación, como la generación de código o la depuración. Sin embargo, es importante recordar que estas tecnologías todavía necesitan ser supervisadas y dirigidas por programadores humanos.
A pesar de los avances en IA, todavía existen barreras importantes para la automatización completa de la programación. Una de las principales barreras es la falta de capacidad de la #IA para entender y responder a las necesidades de los usuarios de manera efectiva. Los programadores humanos son capaces de pensar de manera creativa y resolver problemas complejos de manera eficaz, lo que es difícil de replicar con la tecnología actual.
Hay que tener en cuenta que estas tecnologías se alimentan de los miles de documentos que hay en internet escrito, pero que pasaría si el día de la maña el 50% de los textos estuvieran escritos por sí misma, que “sería como si tú mismo te alimentaras de tus propios excrementos” no evolucionaria.
Además, no supervisar adecuadamente los desarrollos propuestos por las tecnologías de #IA podría tener consecuencias graves, como la creación de software con fallos importantes o con decisiones éticas y morales cuestionables. Es esencial que los programadores humanos supervisen y dirijan estas tecnologías para garantizar que el software desarrollado sea seguro y ético.
Yo si tendría en cuenta para aumentar la productividad de nuestros equipos las siguientes ventajas:
- Generación automática de código: #ChatGPT puede utilizarse para generar código automáticamente, lo que puede ahorrar tiempo y esfuerzo a los desarrolladores.
- Depuración automática: #ChatGPT también puede ayudar a los desarrolladores a encontrar y corregir errores en el código.
- Documentación automática: #ChatGPT puede generar documentación para el código, lo que facilita la comprensión y el mantenimiento del código.
- Mejora de la productividad: al automatizar tareas de programación, #ChatGPT puede mejorar la productividad de los desarrolladores.
Mostrando especial interés en los siguientes puntos flacos.
- Supervisión humana necesaria: aunque #ChatGPT puede automatizar algunas tareas de programación, todavía necesita ser supervisado y dirigido por programadores humanos.
- Limitaciones en la comprensión del lenguaje: #ChatGPT, al igual que cualquier modelo de IA, tiene limitaciones en su comprensión del lenguaje y puede cometer errores al generar código o documentación.
- Limitaciones éticas y morales: si no se supervisa adecuadamente, #ChatGPT podría generar código o documentación con decisiones éticas y morales cuestionables.
En resumen, las tecnologías de #IA como #ChatGPT pueden ser una herramienta valiosa para los programadores humanos, pero todavía necesitamos a los programadores humanos para supervisar y dirigir estas tecnologías. Los programadores humanos tienen habilidades únicas que son esenciales para el desarrollo de software de alta calidad y para garantizar que este software sea seguro y ético.
Autor: Iván Becerro Abajo