Llevo algunos días usando Copilot de GitHub para programar y esta es mi  experiencia

GitHub Copilot

¿Te gustaría aprender algún lenguaje de programación?
Tenemos los cursos que necesitas. ¡Haz clic aquí!

GitHub acaba de hacer público un proyecto que llevaba en beta privada varios meses y del que todo el mundo está hablando. Bueno, en realidad, todo el mundo está hablando de la Eurocopa, excepto los programadores que no tenemos ojos para otra cosa que no sea GitHub Copilot.

¿Qué es GitHub Copilot?

Es una de esas ideas tan brillantes que uno se da cabezazos contra la pared porque no se te haya ocurrido a ti.

GitHub posee de líneas de código correcto y testado, en innumerables lenguajes de programación. De la misma manera, Google tiene lineas de texto relativamente correcto y en diferentes lenguajes. Los de Google han sido rápidos y aprovecharon esos datos para sacar patrones y mejorar las sugerencias que te da tanto en Google Docs como en GMail. Ya no se limita a terminar palabras sino que que finaliza correctamente frases enteras, ahorrándote bastante trabajo.

Pues bien, GitHub decidió hacer lo mismo, pero con lenguajes de programación. Han detectado infinidad de patrones que se repiten y al detectar que estás creando uno, te sugiere ¡varias líneas de código! Algunos de los patrones son funciones memorizadas, creación de cachés, parseo de json, autenticación y un largo etcétera.

What OpenAI and GitHub's “AI pair programmer” means for the software  industry – TechTalks


La sensación es de practicar “pair programming”, pero sin tener a un humano al lado.

Es una de las tendencias más interesantes en la IA, la de los asistentes inteligentes. Se trata de IAs que no sustituyen al humano, pero en las cuales puedes delegar las tareas más aburridas, repetitivas o peligrosas: un escudero leal y eficaz.

El ejemplo más interesante es el proyecto Loyal Wingman de Boeing (y similares de FCAS o Tempest): un dron autónomo de combate que acompaña, ya sea solo o en grupo, a un avión pilotado y se encarga de las tareas más arriesgadas. GitHub Copilot es exactamente eso: tu copiloto a la hora de programar.

La verdadera importancia de GitHub Copilot

Uno de los programadores más brillantes que han conocido, y que tuvo un final trágico: Erik Naggum. Tenía las peores habilidades sociales que jamás se ha visto en un programador y era, francamente, un pesado. No sólo eso, era el peor tipo de pesado: el que siempre tenía razón.

Una de las cosas que decía, y con toda la razón, es que el movimiento de “Patrones de Diseño” (que por aquél entonces hacía furor), NO era un logro o una brillantez, sino que era una muestra de incompetencia extrema de los diseñadores de lenguajes de programación.

GitHub launches Copilot to power pair programming with AI | VentureBeat

¿Muestra de incompetencia?

Su tesis era la siguiente: los patrones de diseño descritos en dicho libro son tareas repetitivas y triviales que tenemos que implementar n veces en casi todos los proyectos. Son una vulneración del principio DRY (Do Not Repeat Yourself) a nivel del lenguaje de programación. Por lo tanto, cuanto mayor su popularidad en una comunidad, mayores son las limitaciones del lenguaje de dicha comunidad.

El que se usen tantos patrones de diseño en Java, es por lo tanto una prueba irrefutable de que Java, como lenguaje, es una ñorda. Ahí es cuando empezaban los insultos y toda la conversación se convertía en un circo.

Sin embargo…. Tenía razón.

Todos esos patrones deberían de ser resueltos de manera trivial a nivel del lenguaje, no del programador de aplicaciones.

GitHub Copilot: el detector automático de patrones

Lo que hizo GitHub fue automatizar y dar escala a la labor iniciada por los autores del famoso libro “Design Patterns”: encontrar patrones de diseño y de implementación.

Pues bien, Erik diría con mucha razón: que ningún nuevo lenguaje debería de ser diseñado si no resuelve de forma trivial y eficiente todos los patrones detectados por GitHub Copilot.

Te invitamos a ver todos nuestros artículos que tenemos para ti, coméntanos que tal te pareció este articulo y compártelo con más personas.

¿Te gustaría aprender algún lenguaje de programación?
Tenemos los cursos que necesitas. ¡Haz clic aquí!

About Author

NGuerrero

0 0 votos
Article Rating
Suscribir
Notificar de
0 Comments
Comentarios.
Ver todos los comentarios
0
¿Te gusta este articulo? por favor comentax
()
x
Abrir chat
¿Quieres aprender a programar?
Hola 👋,
¿Te interesa información de nuestros cursos?