GitHub propose un Copilot alimenté par le machine learning
Le 30 juin 2021 à 07h56
2 min
Logiciel
Logiciel
La fonction est exactement ce qu’elle laisse supposer : une aide à l’écriture de code.
C’est le résultat d’un partenariat avec OpenAI et sa technologie Codex, pour aboutir à un modèle jugé bien meilleur que GPT-3, car basé sur un échantillon beaucoup plus important de code (des milliards de lignes venant des dépôts publics). Copilot est présenté comme ayant une idée précise de la manière dont les développeurs travaillent.
Il se présente donc comme un assistant. Il suggère du code pendant l’écriture, le développeur pouvant passer en revue les propositions. Elles peuvent être librement acceptées ou refusées, la fonction étant de toute façon désactivable.
Le potentiel est important. Copilot n’a pas pour but de remplacer les développeurs, mais de les aider en proposant du code après analyse du projet, de la fonction en cours d’écriture et des quelques dernières lignes pour obtenir un contexte.
Dans le cas d’un travail avec un framework non encore maîtrisé, Copilot en connaît déjà les spécificités et fera des suggestions adaptées. Même quand on commence à travailler avec un nouveau langage. La technologie s’adapte avec le temps, selon les propositions acceptées. Elle fonctionne pour l’instant avec Python, JavaScript, TypeScript, Ruby et Go.
Copilot est pour l’instant disponible en préversion, avec un nombre de place limité. Il s’installe au travers d’une extension dans Visual Studio Code ou s’utilise depuis GitHub Codespace. Le billet de présentation fournit de bons exemples du potentiel via plusieurs gif animés.
Le 30 juin 2021 à 07h56
Commentaires (10)
Vous devez être abonné pour pouvoir commenter.
Déjà abonné ? Se connecter
Abonnez-vousLe 30/06/2021 à 08h59
Tous les trucs de ce genre finissent par servir de métrique qualité, avec obligation pour le dev d’expliquer pourquoi il n’a pas suivi les recommandations. Avec donc l’effet pervers pour le dev de toujours suivre les recommandations pour ne pas avoir à se justifier.
Bref c’est du codage par consensus…
Le 30/06/2021 à 11h21
C’est pas nouveau, hein, ESLINT fait ça très bien aussi quand ta boîte a choisi un rule-set à la con parce que c’est le premier qui apparaît dans Google… Perso, celle qui m’horripile le plus:
if (valeur < limiteBasse || limiteHaute < valeur)
Ah non, quand on compare une variable (
valeur
) avec une constante (limiteHaute
) alors la constante doit toujours être en deuxième position dans une comparaison… Il faut absolument mixer une comparaison < et une comparaison >Le 30/06/2021 à 09h24
Le taf de OpenAI est impressionnant mais on est pour l’instant loin d’avoir eu des produits aboutis au point d’être utilisable IRL.
A voir si Copilot fait mieux que les produits “géniaux” qu’on nous a présenté jusqu’alors ou si c’était uniquement des paillettes pour StartupNation ;)
Le 30/06/2021 à 15h58
Et pendant ce temps là en python, on peut écrire “if limiteBasse < valeur < limiteHaute : …”
Le 01/07/2021 à 05h25
Je crois qu’on peut écrire ça en C aussi. Mais évidemment ça ne fait absolument pas la même chose
Le 01/07/2021 à 05h35
L’idéal c’est pouvoir écrire
valeur in [ bas ... haut ]
ouvaleur not in [ bas ... haut [
comme en notation mathématique. Voire même remplacerin
par le symbole mathématique ∊ d’appartenance. Je crois que Eiffel permet une telle notation (je sais qu’on peut en tout cas utiliser les symboles math ∃ et ∀ pour écrire des conditions sur des collections).Le 01/07/2021 à 06h17
Et dire qu’il y a 30 ans, on avait besoin que de connaître le shell, un langage et une base de données pour être un bon développeur, plus VB, Nsdk ou Developper 2000 pour l’IHM Maintenant, ce sont des dizaines de framework, des découpages en plein de couches, tenus plus ou moins bien ensemble.
Le 01/07/2021 à 07h26
Hmmmm.. déjà VB il y a 30 ans ? Perso c’était en mode texte 25x80, C pour le code et Vermont Views pour le fenêtrage (en mode texte, avec les caractères semi-graphiques pour les bords). La base de donnée c’était un “ISAM” intégré (le SQLite de l’époque, mais sans le SQL, plutôt des requêtes genre DBASE) Moi aussi
Le 01/07/2021 à 07h34
Vu sur Fosotodon.
Le 01/07/2021 à 13h48
Personnellement, l’utilisation de norme mathématique dans un langage de programmation, je ne suis pas fan. Julia le fait pas mal, du coup, on se retrouve avec des caractère non ASCII (genre ÷, ⊻, ≠, ≤, ≥, √, ∛…) et des commande qui frôlent l’ambigüité en se mélangeant à des syntaxes plus informatique.
(j’ai essayé de me mettre à Julia, déjà qu’un tableau commence à l’index 1, ça m’a rebuté, nop.)