El código generado por inteligencia artificial (IA) es un recurso útil para los programadores, pero de ninguna manera es un reemplazo.
El CEO de Nvidia declaró recientemente que no deberíamos enseñar programación a los niños porque la IA hará todo el trabajo pesado por ellos. Si bien es cierto que la IA puede ser la mejor amiga de un programador, las personas aún deben aprender a programar, sin importar cuánto código generado por IA terminen utilizando, por más de una razón.
¿Qué dijo el CEO de Nvidia sobre la IA y la programación?
En la Cumbre Mundial de Gobierno de
2024 en Dubai, el CEO de Nvidia, Jensen Huang, afirmó que creía que no tiene
sentido enseñar a las personas a programar porque la programación serárealizada completamente por la IA en un futuro cercano:
Es nuestro trabajo crear tecnología informática de tal manera que nadie tenga que programar. Y que el lenguaje de programación sea humano. Todo el mundo en el mundo ahora es unprogramador. Este es el milagro de la inteligencia artificial.
Si bien la IA puede generar bloques de código funcionales, hay argumentos de que las personas no necesitan aprender los conceptos básicos de programación si desean crear programas.
¿Qué tan buena es la IA en la programación?
Antes de que podamos desentrañar la
declaración de Jensen, tenemos que examinar qué lo llevó a decir esto en primer
lugar.
Los modelos de IA en internet pueden
ayudarte con la programación. Modelos de uso general como ChatGPT pueden hacer esto, pero también puedes usar un modelo
especial como CodeGPT dedicado a manejar consultas de programación.
En general, estos modelos de IA hacen un gran trabajo convirtiendo indicaciones en código. Su principal fortaleza, a la que Jensen alude anteriormente, es que no necesitas saber programación para generar código con una IA. Simplemente dile lo que quieres, copia y pega los resultados y tendrás (idealmente) código libre de errores que hace lo que pediste.
Por qué Nvidia está equivocado acerca de no enseñar programación a los niños
Huang hizo un excelente análisis, y su declaración está fundamentada en evidencia real. Sin embargo, hay muchas razones para seguir enseñando a las personas cómo programar.
1. El código generado por IA aún requiere conocimiento para verificar errores
El código de IA a menudo puede
ejecutarse sin generar un error, pero no es perfecto. Aprender a programar te
brinda el conocimiento necesario para refinar y perfeccionar el código que
produce la IA.
Así que: CodeGPT puede escribir código, pero debes tener cuidado porque no siempre te dará la mejor salida. Lo que obtienes puede contener errores y es posible que no siga las mejores prácticas. Siempre que uses CodeGPT o cualquier otra herramienta alimentada por IA para escribir código, esfuérzate por entender primero qué hace el código. No simplemente lo copies y pegues.
No se trata solo de errores; también se trata de hacer que el código sea legible para los humanos y asegurarse de que siga los principios básicos de programación que todo programador debería conocer. Si agregas ciegamente código generado por IA, corres el riesgo de crear un gran desorden de código que sea difícil de desentrañar o, peor aún, vulnerabilidades en tu software, sitio web o cualquier otra cosa.
2. Los programadores pueden aplicar la experiencia para resolver problemas mejor que la IA
Los programadores están intentando
resolver un problema. Ya sea haciendo una aplicación para ellos mismos o para
un cliente, tienen que encontrar la mejor manera de convertir un concepto en
realidad utilizando código.
A medida que los programadores adquieren experiencia en la creación de aplicaciones, pueden visualizar mejor cómo un proyecto pasa de ser un dibujo en papel a ser un programa funcional. Los chatbots de IA no tienen el mismo nivel de capacitación que se puede aprender de proyectos anteriores y aplicar lo aprendido para hacer un mejor trabajo en el futuro.
3. Los programadores pueden mejorar mejor el código para satisfacer las demandas de los usuarios
Si estás creando un programa para
otra persona, es probable que recibas algunos comentarios. Es una parte natural
del proceso de retroalimentación que garantiza que el cliente obtenga el
producto que desea.
Si un humano codificó la aplicación, pueden implementar cualquier correción por sí mismos y enviar una segunda versión, continuando esta tendencia hasta que esté como el cliente desea. Sin embargo, si alguien está atascado con el código generado por IA, lo mejor que pueden hacer es pedirle a la IA que haga los ajustes y esperar que la inteligencia artificial procese correctamente su solicitud (y nuevamente, sin introducir errores, reescribir partes ya útiles del código, introducir vulnerabilidades, etc.).
4. Los programadores pueden adaptarse a las tendencias tecnológicas cambiantes más rápido que la IA
Los modelos de IA obtienen su
conocimiento de datos ya existentes. Eso los hace muy buenos para recrear cosas
a partir de información ya disponible en internet, pero no tan buenos para
comprender las últimas tecnologías y tendencias.
Los programadores siempre pueden mantenerse actualizados con los últimos desarrollos en su lenguaje elegido e implementarlos dentro de su código. También comprenden qué lenguajes funcionan mejor con qué tareas y pueden cambiar el lenguaje utilizado cuando uno cae en desuso.
5. Los programadores pueden responder a solicitudes urgentes de parches más rápido que la IA
Finalmente, si algo sale mal con el
código, se necesita a alguien con conocimientos de programación para
solucionarlo. En el caso de una explotación de día cero, el tiempo es esencial;
el problema debe ser identificado y solucionado lo más rápido posible.
No importa si el código está escrito por humanos o por IA; ambos son susceptibles a errores. Sin embargo, alguien que entiende el código tendrá más facilidad para localizar y comprender el problema. Alguien que no sabe cómo funciona el código ni siquiera sabrá qué pedirle a una IA que haga.
Larga vida a los programadores
La declaración de Jensen Huang no
estaba equivocada. La IA permite que las personas que nunca han programado
antes generen y usen código. Sin embargo, si alguien quiere crear algo para
ellos mismos o para otra persona, necesitarán conocimientos básicos de
programación para garantizar que todo funcione de manera fluida y eficiente.
¿Puede ChatGPT reemplazarme? ¿Qué trabajos reemplazará la IA generativa?