¿Se extinguirán los programadores como resultado de la IA?

Published on 05 Dec 2021

Si se piensa en la cuestión, parece bastante irónica. ¿Es posible que las creaciones (sistemas inteligentes) acaben sustituyendo o reemplazando a sus creadores (los programadores)? ¿No parece la trama de una película de ciencia ficción? Sin embargo, la cuestión más acuciante es la siguiente: ¿es cierto?

Según una investigación reciente sobre el futuro del trabajo, se prevé que aproximadamente la mitad de todas las ocupaciones en los Estados Unidos estarán digitalizadas para el año 2030. Si aceptamos los resultados como ciertos, el futuro cercano parece ser un tanto sombrío. Sin embargo, antes de imaginar un escenario apocalíptico en el que los robots se apropien de todas las profesiones humanas, considere cómo la inteligencia artificial (IA) ayuda a los programadores.

Ver también: Best Buy adquiere la empresa británica Current Health

Cómo la inteligencia artificial ayuda a los programadores

Incluso antes de que comience el ciclo de desarrollo de software estándar, los programadores deben definir los requisitos técnicos, o características, y las funcionalidades del producto. Luego pueden comenzar el verdadero proceso de diseño y desarrollo, que incluirá pruebas, implementación y mantenimiento.

Naturalmente, al pasar de una fase a la siguiente, aparecen problemas y lagunas que deben abordarse. Antes de lanzar un software, debe pasar por varias rondas de verificación y mejora. El ciclo de vida del desarrollo de software puede ser lento, costoso y aburrido. Para los humanos, esto puede resultar molesto. Los programadores necesitan ayuda, y ahí es donde entra en juego la IA.

1. Escritura de programas

La tecnología de inteligencia artificial permite a los programadores detectar fallos en su código mientras lo escriben. Ubisoft, un creador francés de software, es pionero en este campo. Desarrolló Commit Assistant, una herramienta de inteligencia artificial que comprueba si hay código incorrecto utilizando una biblioteca de software de errores de codificación comunes detectados en proyectos anteriores. De este modo, Commit Assistant protege a los programadores de repetir errores anteriores, ahorrándoles así tiempo y esfuerzo a la hora de rectificar problemas más adelante en el proceso.

Además, los asistentes de programación inteligentes que brindan recomendaciones de autocompletado mientras los programadores escriben código son ejemplos de tecnologías de IA que simplifican la vida de los programadores. ¿Y por qué los programadores no las aprovecharían? Seamos realistas, revisar cientos de páginas de papeleo puede ser agotador.

2. Resolución de errores

Numerosos fallos en el software se hacen evidentes solo después de su instalación, algo bastante habitual, teniendo en cuenta que los fabricantes suelen tener que apresurarse a salir al mercado para superar a la competencia. Como resultado, pocas aplicaciones están libres de debilidades explotables.

Esto se puede resolver mediante métodos de inteligencia artificial (IA) y aprendizaje automático (ML). Se pueden configurar computadoras para que analicen los programas en busca de fallas y las corrijan antes de su lanzamiento.

3. Estimación precisa de la entrega del proyecto

Las iniciativas de desarrollo de software casi nunca se ajustan a los plazos y presupuestos establecidos antes de comenzar.

Sin embargo, con la ayuda de la IA, los programadores (o, más correctamente, sus jefes de proyecto) pueden presentar a la dirección plazos y necesidades de financiación más realistas, teniendo en cuenta todas las situaciones imaginables y los obstáculos probables.

¿Es la IA capaz de codificar?

La respuesta corta y desagradable es sí. Uno de esos sistemas se llama "GPT-3" y es descendiente de lo que se denominó la "IA más letal del mundo", GPT-2.

El 13 de julio de 2020, el investigador Sharif Shameem afirmó que utilizó GPT-3 para diseñar una página web simplemente proporcionando descripciones. Estas se convirtieron a código JSX utilizando GPT-3. JSX es una adición sintáctica a JavaScript (JS) que permite el desarrollo de sitios web utilizando React, un kit de herramientas de código abierto de JavaScript (JS) para crear interfaces de usuario (UI) o sus componentes.

Si bien GPT-3 es capaz de codificar en una variedad de lenguajes (por ejemplo, hojas de estilo en cascada [CSS], JSX y Python), al igual que cualquier programa recién creado, aún tiene una serie de problemas. Uno de ellos es que el código generado por GPT-3 puede ser inútil. Además, comete errores que son muy difíciles de solucionar sin la ayuda de personas. Por ejemplo, consultas matemáticas triviales y elementales como "¿Qué número precede a un millón?" serán respondidas por GPT-3 con "Novecientos mil noventa y nueve".

Ver también: ¿Podrían los AirPods de Apple convertirse en audífonos?

¿Pueden los sistemas de inteligencia artificial reemplazar a los programadores?

Volviendo al tema principal, "¿Pueden los sistemas de IA ocupar el lugar de los programadores?", por el momento, los ingenieros de software de todo el mundo pueden respirar profundamente. El problema crucial es que no siempre.

Si bien actualmente existen herramientas de IA capaces de escribir código rudimentario, carecen de la capacidad de priorizar características o reconocer el problema que un software en desarrollo resolvería.

Por el momento, sólo un programador excepcionalmente dotado puede crear código basándose en una comprensión profunda de las especificaciones y necesidades exactas. Y, como demuestra el ejemplo, sólo los programadores pueden dar sentido a problemas desconcertantes sin soluciones definidas o con varias posibles.

De hecho, lo que los investigadores predijeron originalmente —que la función de los programadores solo evolucionaría a medida que los sistemas de IA mejoraran— sigue siendo cierto. En lugar de crear códigos, serían responsables de evaluar y seleccionar datos que se utilizarán como variables de entrada para los algoritmos de IA que, con el tiempo, producirían software.

Entonces, ¿la IA reemplazará a los programadores? No, no lo hará, al menos por el momento. Sin embargo, los programadores deben tener en cuenta las tecnologías emergentes como GPT-3, que son capaces de producir rápidamente programas informáticos sin necesidad de codificación. Los desarrolladores de software pueden proporcionar fácilmente parámetros y componentes que se utilizarán para preparar la aplicación. Si bien la IA antes mencionada requiere un mayor refinamiento, especialmente en términos de preparación, tiene el potencial de liberar a los programadores de varias tareas.

En lugar de ofrecer un panorama sombrío, los programadores deberían aprovechar los aspectos positivos de la IA. Numerosos sectores ya han adoptado esta tecnología para aumentar la producción y ahorrar gastos. Como la tendencia es inevitable, sería prudente que desarrollaran sus habilidades para adaptarse al terreno cambiante.

Imagen destacada: Fotografía de diseño creada por rawpixel.com - www.freepik.com

Suscríbete a Whitepapers.online para conocer las nuevas actualizaciones y los cambios realizados por los gigantes tecnológicos que afectan la salud, el marketing, los negocios y otros campos. Además, si te gusta nuestro contenido, compártelo en plataformas de redes sociales como Facebook, WhatsApp, Twitter y más.