Desde hace unos meses, uno de los temas que más resuenan en el mundo de la programación son las inteligencias artificiales y los usos que pueden tener en nuestro sector. Y uno de los protagonistas de estas conversaciones es, sin duda, GitHub Copilot, el asistente de OpenAI basado en inteligencia artificial que nos ayuda a automatizar ciertos procesos a la hora de programar.
¿Qué es GitHub Copilot?
El nuevo asistente de programación está basado en un algoritmo llamado Codex, que es capaz de traducir el lenguaje natural a código en un programa. GitHub empezó a dar a conocer este sistema a mediados de 2021, y tras ello, ha continuado mejorándolo y evolucionándolo.
Para desarrollarlo, GitHub lo entrenó con muchísima información (terabytes) de código fuente que tenía en su plataforma, con el fin de que Copilot fuera capaz de “adivinar” lo que iba a escribir el programador a continuación y le sugiriera si no las líneas exactas, unas muy parecidas o que le ayudarían a optimizar y ordenar el código.
Copilot puede sugerir no solo líneas, sino métodos completos, código que se repite e incluso algoritmos complejos.
Características
Entre las características principales de GitHub Copilot, podemos encontrar:
- Es capaz de generar código completamente nuevo desde cero.
- Se integra con varios editores de código: Visual Studio y Visual Studio Code, JetBrains, Neovim…
- Detecta los trabajos repetitivos.
- Se puede activar y desactivar a tu antojo.
- Se adecúa a tu forma de programar (por ejemplo, en nomenclaturas o maneras de trabajar).
Ventajas y limitaciones
Sin embargo, hay una serie de pros y contras con este tipo de asistentes.
Veamos sus ventajas:
- Copilot está disponible de forma gratuita para estudiantes del GitHub Global Campus Program y para desarrolladores que trabajan en proyectos de código abierto. Para el resto, está disponible una prueba gratuita de 60 días.
- Es una herramienta multiidioma que, además de en inglés, es capaz de trabajar, por ejemplo, en español.
- Puede traducir automáticamente Strings en el idioma que detecte (nosotros lo hemos probado con español, inglés e italiano recientemente).
- Muestra soluciones alternativas a medida que vas programando.
- Advierte de posibles errores en el código.
Y sus limitaciones:
- Actualmente, Copilot es una herramienta de pago, que cuesta 10$ al mes (aprox. 9,5€) o 100$ (aprox. 95€) al año.
- En ocasiones, las sugerencias no son las adecuadas o no son viables, y puede que te retrasen un poco en el trabajo.
- Hay desarrolladores que se sienten incómodos cuando les sugiere código, ya que sienten que alguien está “vigilándoles”.
- Todavía hay cierto recelo en cuanto a los derechos de autor, ya que hay desarrolladores que temen que el uso de Copilot sea una infracción para estos derechos.
- Algunos lenguajes minoritarios o frameworks no tienen demasiadas sugerencias.
¿Y qué opinan los desarrolladores?
En general, las opiniones de aquellos usuarios que utilizan Copilota (incluidos nosotros en Calltek) son muy positivas. Se trata de una herramienta muy interesante que agiliza mucho el tiempo de programación y que te permite concentrarte automáticamente en aquellas fracciones de código que pueden resultar más complejas o difíciles, sin preocuparte demasiado de cometer errores debidos a la repetición o a otras distracciones.
Para hacernos una idea, en Python, el 40% de sus sugerencias son aceptadas por los desarrolladores.
Sin embargo, y pese a lo que muchos piensan… no, por suerte o por desgracia, Copilot no va a quitarnos el trabajo a los desarrolladores. Si bien es una herramienta muy útil para código predictivo, en muchas ocasiones, sus soluciones no son viables, y por supuesto, no es capaz de desarrollar un programa o aplicación desde cero sola. Para que nos hagamos una idea, es como decir que los robots de cocina (como Taurus MyCook o Thermomix) van a quitarle el trabajo a los chefs.
Y tú, ¿quieres probar Copilot? Puedes descargarlo e instalarlo gracias a la documentación de GitHub, disponible aquí. Si quieres que te ayudemos, puedes ponerte en contacto con nosotros sin compromiso y prepararemos tu entorno para que puedas utilizarlo sin dificultades.