Las herramientas de programación con IA están provocando que los desarrolladores codifiquen cada vez peor

"He visto a gente usar loops dobles en lugar de métodos optimizados porque simplemente asumieron que lo que generó ChatGPT estaba bien"

En los últimos años, la IA ha entrado con fuerza en casi todos los ámbitos de la tecnología, y la programación de software no ha sido ninguna excepción: herramientas como GitHub Copilot o Cursor, basadas en modelos de lenguaje avanzados, han transformado la forma en que los desarrolladores de software escriben código.

Sin embargo, eso está dando pie a un creciente debate sobre si esta clase de herramientas están provocando una degradación de las capacidades de los programadores.

A favor: Productividad

Uno de los argumentos más sólidos a favor del uso de herramientas como Copilot es que estas incrementan la productividad de los programadores al automatizar tareas repetitivas y reducir el tiempo que se dedica a la escritura de código.

Usuarios experimentados aseguran que, cuando se emplea correctamente, Copilot es una excelente herramienta que ahorra tiempo, especialmente para generar código repetitivo, o para sugerir soluciones rápidas a problemas comunes.

Como dice un usuario en Reddit,

"Copilot supone un increíble ahorro de tiempo... si ya sabes lo que vas a escribir".

Según este punto de vista, los programadores experimentados ven en estas herramientas un apoyo que les permite concentrarse en las partes más complejas y creativas del desarrollo, mientras la IA se encarga de los detalles más tediosos. De esta manera, Copilot no reemplaza las habilidades del desarrollador, sino que las complementa.

En contra: Dependencia y degradación de habilidades

A pesar de estos beneficios, una crítica recurrente es que la dependencia de la IA puede debilitar habilidades fundamentales de los programadores, especialmente entre los desarrolladores más jóvenes o menos experimentados.

En palabras de programadores que trabajan con compañeros de trabajo novatos, el uso excesivo de Copilot impide el desarrollo de la capacidad de resolver problemas de manera autónoma y está generando 'profesionales' que simplemente copian y pegan código generado sin entenderlo del todo:

"[Mi colega] sólo hace lo que Copilot sugiere... no sabe realmente qué quiere hacer".
"He visto a gente usar loops dobles en lugar de métodos optimizados porque simplemente asumieron que lo que generó ChatGPT estaba bien".
Hay un miedo a que los nuevos programadores se vuelvan más pasivos y menos propensos a abordar los problemas de manera innovadora, porque simplemente esperan a que la IA lo resuelva todo

En contra: "Technical debt as a service"

Al hilo de este último testimonio, otra preocupación central es la calidad del código generado por la IA. Aunque la IA puede producir soluciones rápidas, estas no siempre son las mejores desde el punto de vista de la arquitectura del software.

Algunos programadores han comenzado a referirse a esta tendencia como 'technical debt as a service', haciendo referencia a la acumulación de problemas futuros debido a decisiones de programación poco óptimas que deben corregirse más adelante.

"El hecho de que herramientas como Copilot generen tanto código genérico es problemático, ya que el coste de la programación no está en la creación, sino en el mantenimiento".

Tengamos en cuenta que la IA no tiene una comprensión completa del contexto o de los objetivos del proyecto, lo que podría llevar a generar soluciones que, aunque funcionales, no sean las más óptimas.

Pero es que, incluso cuando la IA pueda generar código eficiente, no siempre es el más limpio o comprensible. Esto puede llevar a la producción de "código espagueti", difícil de mantener y escalar.

En otras palabras, tanto cuando la IA genera código insuficientemente eficiente o cuando es insuficientemente comprensible, los desarrolladores tendrán que dedicar tiempo a revisarlo, depurarlo y mejorarlo a largo plazo, lo que puede crear más problemas de los que resuelve.

A favor: Aprendizaje acelerado

A pesar de estas críticas, también hay programadores que consideran que estas IAs, cuando se utilizan correctamente, pueden no tener precio como herramienta educativa, pues estarían revolucionando la forma en que los programadores aprenden, permitiendo un acceso instantáneo a explicaciones y ejemplos que antes habrían requerido búsquedas extensas en Google o Stack Overflow.

"Quienes aprovechan la IA de manera correcta podrán aprender más rápido y entregar mejores resultados".

Entonces, ¿herramienta o reemplazo?

Uno de los puntos en los que la mayoría de los participantes en este debate parecen coincidir es que Copilot y otras IA no deberían ser vistas jamás como un reemplazo de las habilidades del programador, sino como una herramienta que facilita sólo ciertos aspectos de su trabajo. Sin embargo, es esencial que los programadores sigan desarrollando sus capacidades de resolución de problemas y comprensión profunda del código.

Vía | Reddit

Imagen | Marcos Merino mediante IA

En Genbeta | Cursor, el editor de código con ChatGPT integrado, freemium y basado en VS Code

Ver todos los comentarios en https://www.genbeta.com

VER 3 Comentarios

Portada de Genbeta