Copilot y más: cómo la IA está cambiando la forma de escribir código

La programación ha cambiado radicalmente en la última década, no solo por la evolución de los lenguajes o los marcos de trabajo, sino por la irrupción de nuevas formas de colaboración y automatización, a partir de la popularización de metodologías agile o el trabajo con contenedores.

Sin embargo, pocas han resultado ser más disruptivas que la aplicación de capacidades de inteligencia artificial a los editores de código. De estos, nada ha tenido más repercusión que la transformación que ha experimentado GitHub.

Una compra histórica

El 4 de junio de 2018, Microsoft firmaba una de las compras más interesantes de su historia. Ese día, la multinacional americana anunció la adquisición de GitHub por 7.500 millones de dólares 

De esta forma, Microsoft se quedaba con uno de los principales servicios de control de versiones, que entre otras cosas facilitaba a los desarrolladores seguir el historial completo de cambios en el código, o que equipos distribuidos en todo el mundo pudiesen trabajar juntos. 

Transcurridos cinco años desde esa compra, GitHub se ha convertido en plataforma de desarrollo colaborativo más grande del mundo, usada por aproximadamente 150 millones de programadores que trabajan en alguno de los más de 420 millones de repositorios registrados. 

OpenAI y GitHub Copilot

Pero la historia no acaba aquí. En 2021 y con el apoyo de OpenAI, se lanza GitHub Copilot, un asistente de programación basado en Codex (un modelo de inteligencia artificial entrenado sobre miles de millones de líneas de código abierto, en su mayoría alojado en GitHub). 

Su lanzamiento supuso una revolución en el desarrollo de software, al introducir por primera vez un sistema capaz de sugerir fragmentos de código, completar funciones o generar estructuras enteras a partir de comentarios en lenguaje natural, lo que prometía incrementar de forma exponencial la productividad de los desarrolladores. 

Esto resultaba especialmente útil para tareas repetitivas o estándar, como bucles, funciones matemáticas o estructuras condicionales en lenguajes como Python, JavaScript o TypeScript y prometía incrementar exponencialmente la productividad de los desarrolladores al integrarse como extensión en editores tan populares como Visual Studio Code.  

Sin embargo, no todos abrazaron desde el principio esta “revolución”. En primer lugar, porque tal y como sucede con todos los modelos de inteligencia artificial, GitHub Copilot podía “alucinar”. De hecho, en sus primeras versiones podía generar código funcional pero también propenso a errores, inseguro o redundante. Esto implicaba que los programadores debían tener un conocimiento técnico sólido para revisar y validar las sugerencias, lo que podía acabar impactando sobre esas ganancias teóricas en su productividad. 

Por otro lado, muchos programadores cuestionaron la ética o incluso la legalidad de que Copilot hubiese sido entrenado con código público de repositorios alojados en GitHub, ya que en su output el modelo reutiliza fragmentos de código sin citar al autor original. Además, algunos expertos advirtieron de que el uso intensivo de Copilot podía desincentivar el aprendizaje profundo del código, especialmente entre desarrolladores junior, fomentando una programación más superficial y menos comprensiva. 

Pero desde esas primeras versiones, GitHub Copilot ha mejorado de forma notable. Uno de los avances más notables ha sido su capacidad para comprender el contexto completo de un proyecto, no solo el archivo en el que se trabaja. Esto le permite generar sugerencias más coherentes y adaptadas al estilo del código existente. Además, ha mejorado su precisión y seguridad, evitando sugerencias que pudieran contener errores comunes o prácticas poco recomendables. 

A partir de Copilot X, los desarrolladores también tienen a su disposición Copilot Chat, un entorno conversacional en el que los usuarios pueden interactuar con la IA para resolver dudas, pedir ejemplos de código o refactorizar funciones directamente desde el editor. Al mismo tiempo, se ha incorporado la generación automática de pruebas unitarias, la explicación de fragmentos de código o un soporte ampliado a más lenguajes y entornos, aunque JavaScript o Python siguen siendo los que ofrecen los mejores resultados

Programar es cosa de…IA

Más allá de GitHub Copilot, los últimos años han visto el desarrollo de un buen número de asistentes de codificación basados en inteligencia artificial, ofreciendo enfoques variados (desde la privacidad del desarrollo local hasta la colaboración en entornos cloud) y se adaptan a diferentes perfiles de usuario. Estos son algunos de los más populares: 

Cursor: editor alternativo a VS Code con IA integrada para navegación semántica del código. Utiliza GPT-4 y permite editar código con lenguaje natural. 

Amazon CodeWhisperer: ofrece sugerencias de código en tiempo real integradas con AWS y múltiples IDEs. Incluye análisis de seguridad y filtra sugerencias que puedan infringir licencias. 

Tabnine: funciona localmente o en la nube, respetando la privacidad del código fuente. Es compatible con VS Code, JetBrains, y más de 20 lenguajes de programación. 

Windsurf: anteriormente conocido como Codeium, este editor cuenta con la ventaja de ser gratuito para su uso individual. Integra funciones como generación de funciones enteras y documentación automática. 

Replit Ghostwriter: ideal para desarrolladores principiantes y entornos educativos, combina IA con un entorno de desarrollo colaborativo basado en cloud. 

Como hemos visto, estos asistentes suponen un avance significativo en productividad, eficiencia y aprendizaje. Sin embargo, es importante recalcar que no sustituyen el criterio, la creatividad ni la comprensión del lenguaje que aporta el desarrollador humano. Es la experiencia y el pensamiento crítico lo que sigue marcando la diferencia en la creación de soluciones tecnológicas verdaderamente innovadoras. 

Más información

Comparte con el mundo

NEWSLETTER

Te enviaremos las últimas novedades interesantes.