Programar será un poco más fácil gracias a GitHub Copilot
En la pasada BUILD 2022, la conferencia de desarrolladores de Microsoft, se presentaba una de las principales novedades de GitHub. El sistema de control de versiones permitirá mediante GitHub Copilot a los desarrolladores utilizar fragmentos de código generados por IA para agilizar la escritura de código.
¿Qué es GitHub Copilot?
Es un asistente automatizado para la programación en GitHub que puede generar de manera autónoma código, facilitando en gran medida la labor de los desarrolladores. Creado a partir de GitHub y OpenAI, es un complemento para Visual Studio Code que genera trozos de código según la ubicación del cursor y el contenido del archivo que se esté editando.
Entre sus ventajas destaca principalmente la facilidad de generación de código y su capacidad de predicción; tanto líneas como funciones completas o comentarios. GitHub Copilot puede sugerir bloques condicionales sin apenas fallos e incluso es capaz de sugerir funciones sin que el desarrollador haya comenzado a escribirlas. Pero es especialmente útil a la hora de escribir código que se repite, el conocido boilerplate. Esto se debe a que ha sido diseñado para comprender tanto el código fuente como el lenguaje humano.
En el lado negativo se encuentran dos aspectos fundamentales a la hora de desarrollar: la autoría del código y la seguridad del mismo. Sobre el primer punto, queda un poco en el aire quién es el autor del código sugerido y puede entrar en conflicto con los derechos de autor y el copyright. En cuanto a la seguridad, se estima que un 40% del código generado a partir de GitHub Copilot el pasado año ha resultado ser inseguro.
¿Cómo funciona?
GitHub Copilot tiene un funcionamiento similar al de un plugin. Una vez instalado en el editor, basta con comenzar a escribir código para que GitHub Copilot disponga de un contexto. Con esta información podrá comenzar a hacer sugerencias que puedan adaptarse a lo que el desarrollador está tratando de hacer. Además de lo que el sistema considera como ideal, aparecerán otras alternativas que también puedan adaptarse a ese contexto.
¿El futuro de la programación?
La herramienta estará disponible para todos a partir de verano, aunque ya son miles de desarrolladores quienes se están beneficiando de esta nueva funcionalidad. En palabras del propio Microsoft, GitHub Copilot ha permitido, en determinados lenguajes, crear el 30% del código que en este momento se encuentra en GitHub. De ahí que, actualmente, la aplicación sea capaz de sugerir a los desarrolladores alrededor del 35% de código en Java y Python, entre otros lenguajes.
Por el momento parece que la herramienta está siendo todo un éxito. Hasta el punto de que más de la mitad de los desarrolladores que comienzan a utilizarlo continúan después con la herramienta para simplificar la creación de código. Aunque también hay que tener en cuenta que, al tratarse de un sistema de aprendizaje automático, es posible que algunas partes del código generado no sean correctas. Para evitar añadir código inseguro, es recomendable revisar el código propuesto antes de añadirlo al proyecto.
Se espera que con el tiempo GitHub Copilot se convierta en algo tan habitual como los sistemas de completado de código que incluyen la mayoría de los entornos. Una herramienta que, más allá de recomendar el código, contribuya a evitar fallos tipográficos en la generación del mismo.