Comment l’IA facilite la vie des développeurs et aide tout le monde à apprendre à développer des logiciels

Depuis qu’Ada Lovelace, un polymathe souvent considéré comme le premier programmeur informatique, a proposé en 1843 d’utiliser des trous percés dans des cartes pour résoudre des équations mathématiques sur un ordinateur mécanique jamais construit, les développeurs de logiciels ont traduit leurs solutions aux problèmes en instructions étape par étape. que les ordinateurs peuvent comprendre.

Cela change maintenant, selon Kevin Scott, directeur de la technologie de Microsoft.

Aujourd’hui, les outils de développement de logiciels basés sur l’IA permettent aux utilisateurs de créer des solutions logicielles en utilisant le même langage que celui qu’ils utilisent lorsqu’ils parlent à d’autres personnes. Ces outils alimentés par l’IA traduisent le langage naturel dans les langages de programmation que les ordinateurs comprennent.

Cela vous permet, en tant que développeur, d’avoir l’intention d’accomplir quelque chose dans votre tête que vous pouvez exprimer en langage naturel et cette technologie le traduit en code qui réalise l’intention que vous avez, a déclaré Scott. C’est une façon fondamentalement différente de penser le développement que celle que nous avons eue depuis le début du logiciel.

Ce changement de paradigme est piloté par Codex, un modèle d’apprentissage automatique de la société de recherche et développement en IA OpenAI qui peut traduire des commandes en langage naturel en code dans plus d’une douzaine de langages de programmation.

Le codex est issu de GPT-3, le modèle de langage naturel d’OpenAI qui a été formé sur des pétaoctets de données linguistiques provenant d’Internet. Codex a été formé sur ces données linguistiques ainsi que sur le code des référentiels de logiciels GitHub et d’autres sources publiques.

Cela rend le codage plus productif en supprimant le travail pas si amusant et en vous aidant également à vous souvenir des choses que vous pourriez avoir oubliées et en vous aidant avec l’approche pour résoudre les problèmes, a déclaré Peter Welinder, vice-président des produits et des partenariats pour OpenAI, à propos du Codex. .

Vidéo Youtube

L’augmentation de la productivité que Codex apporte au développement de logiciels change la donne, selon Scott. Il permet aux développeurs d’accomplir de nombreuses tâches en deux minutes qui prenaient auparavant deux heures.

Et souvent, ce que font les outils, c’est qu’ils vous aident à parcourir très rapidement les parties les moins intéressantes de votre travail afin que vous puissiez accéder aux parties les plus intéressantes de votre travail, ce qui rend l’expérience qualitative de création beaucoup plus agréable, stimulant et amusant, dit-il.

L’IA et le code se rejoignent

Microsoft et OpenAI ont formé un partenariat en 2019 pour accélérer les percées dans l’IA, notamment en développant conjointement certains des supercalculateurs d’IA les plus puissants au monde et en les fournissant aux développeurs pour créer la prochaine génération d’applications d’IA via Azure OpenAI Service.

La filiale de Microsoft GitHub a également travaillé avec OpenAI pour intégrer Codex dans GitHub Copilot, une extension téléchargeable pour les programmes de développement de logiciels tels que Visual Studio Code. L’outil utilise Codex pour tirer le contexte du code existant d’un développeur afin de suggérer des lignes de code et des fonctions supplémentaires. Les développeurs peuvent également décrire ce qu’ils veulent accomplir en langage naturel, et Copilot s’appuiera sur sa base de connaissances et son contexte actuel pour faire émerger une approche ou une solution.

GitHub Copilot, publié en avant-première technique en juin 2021, suggère aujourd’hui environ 35 % du code dans des langages populaires comme Java et Python généré par les dizaines de milliers de développeurs de l’aperçu technique qui utilisent régulièrement GitHub Copilot. GitHub Copilot passera à la disponibilité générale cet été, apportant cette capacité de codage assisté par l’IA à des millions de développeurs professionnels, a annoncé Microsoft aujourd’hui lors de sa conférence des développeurs Microsoft Build.

De nombreux logiciels ont des cadres et des éléments d’échafaudage communs. Copilot fait un travail formidable en faisant tout cela pour vous afin que vous puissiez concentrer votre énergie et votre créativité sur les choses que vous essayez de résoudre de manière unique, a déclaré Julia Liuson, présidente de la division des développeurs chez Microsoft, qui comprend GitHub.

Julia Liuson, présidente de la division des développeurs de Microsoft, s'exprime lors d'une conférence.
Julia Liuson, présidente de la division des développeurs chez Microsoft, qui comprend GitHub, s’attend à ce que les outils d’aujourd’hui soient la première vague de développement assisté par l’IA. Photo publiée avec l’aimable autorisation de Microsoft.

Alors que de plus en plus de développeurs expérimentent Codex et GitHub Copilot, de plus en plus d’indices sur le potentiel du développement assisté par l’IA émergent, selon Welinder. Par exemple, la documentation en langage naturel dans la plupart des logiciels est rare. Les utilisateurs de GitHub Copilot créent cette documentation par défaut lorsqu’ils utilisent l’outil.

Vous obtenez un tas de commentaires dans le code simplement de la nature de dire à Copilot quoi faire, a-t-il dit. Vous documentez le code au fur et à mesure, ce qui est époustouflant.

Ces commentaires, à leur tour, servent d’outil pédagogique pour d’autres développeurs, qui étudient souvent d’autres programmes pour apprendre à résoudre des problèmes spécifiques dans leurs propres programmes. La capacité de Codex à traduire du code au langage naturel est une autre façon pour les développeurs d’apprendre pendant qu’ils programment, ce qui réduira la barrière d’entrée au codage, a ajouté Welinder.

Du low code au no code

Pendant ce temps, les outils low code et no code alimentés par l’IA, tels que ceux disponibles via Microsoft Power Platform, visent à permettre à des milliards de personnes de développer les applications logicielles dont elles ont besoin pour résoudre leurs problèmes uniques, d’un audiologiste numérisant de simples formulaires papier pour transformer prévention de la perte auditive en Australie à un outil qui soulage le travail de saisie manuelle des données des employés d’une entreprise familiale et une solution de niveau entreprise qui traite des milliards de dollars de demandes de remise de prêt COVID-19 pour les petites entreprises.

Aujourd’hui, les centaines de millions de personnes qui sont à l’aise avec les formules de Microsoft Excel, un tableur, pourraient facilement apporter ces compétences à Power Platform où elles peuvent créer ces types d’applications logicielles, selon Charles Lamanna, vice-président de Microsoft applications et plate-forme métier.

Charles Lamanna, vice-président de Microsoft chargé des applications et de la plate-forme d'entreprise, est représenté appuyé contre un mur.
Charles Lamanna, vice-président des applications et de la plate-forme d’entreprise de Microsoft, estime que les outils basés sur l’IA permettront à des milliards de personnes de développer des logiciels. Photo de Dan DeLong pour Microsoft.

L’un des grands efforts que nous avons déployés consiste à passer au niveau supérieur, à passer de centaines de millions de personnes pouvant utiliser ces outils à des milliards de personnes pouvant utiliser ces outils, a-t-il déclaré. Et la seule façon dont nous pensons pouvoir y parvenir est de passer d’un code faible à aucun code en utilisant le développement alimenté par l’IA.

Pour ce faire, l’équipe de Lamannas a d’abord intégré GPT-3 à Microsoft Power Apps pour une fonctionnalité appelée Power App Ideas, qui permet aux utilisateurs de créer des applications à l’aide d’un langage conversationnel dans Power Fx, un langage de programmation open source pour le développement à faible code avec ses origines dans Microsoft Excel. La prochaine étape, annoncée lors de Build, est une fonctionnalité appelée Power Apps express design, qui exploite les modèles d’intelligence artificielle d’Azure Cognitive Services pour transformer des dessins, des images, des fichiers PDF et des fichiers de conception Figma en applications logicielles.

Nous avons fait en sorte que nous puissions faire de la reconnaissance d’image et la mapper aux constructions qui existent dans une application. Nous comprenons ce qu’est un bouton, ce qu’est un regroupement, ce qu’est une zone de texte et générons automatiquement une application basée sur ces dessins sans que vous ayez à comprendre et à câbler tous ces différents composants, a déclaré Lamanna.

Vidéo Youtube

Une nouvelle fonctionnalité alimentée par l’IA appelée Power Apps express design permet de transformer des croquis et d’autres images en os d’une application, aidant ainsi les personnes ayant peu ou pas d’expérience en codage à développer des logiciels.

Cette transition d’un code faible à aucun code sur le dos de l’IA suit une tendance générale à l’informatique devenant plus accessible au fil du temps, a-t-il ajouté. Les ordinateurs personnels étaient rares il y a 40 ans, les feuilles de calcul étaient rares il y a 30 ans, l’accès à Internet était limité il y a 20 ans, par exemple. Jusqu’à récemment, le montage vidéo et photo était réservé aux experts.

Le développement de logiciels devrait également devenir plus accessible, a déclaré Lamanna.

Si nous voulons que tout le monde soit développeur, nous ne pouvons pas prévoir d’enseigner à tout le monde comment écrire du code Python ou JavaScript. Ce n’est pas possible. Mais c’est possible si nous créons les bonnes expériences et les présentons à suffisamment de personnes qui peuvent cliquer, glisser et déposer et utiliser des concepts familiers pour créer des solutions étonnantes, a-t-il déclaré.

Développeurs pour l’avenir propulsé par les logiciels

GitHub Copilot ainsi que les offres low code et no code disponibles via la Power Platform constituent la première phase du développement alimenté par l’IA, selon Liuson. Elle envisage des modèles et des outils alimentés par l’IA qui aideront les développeurs de tous niveaux à nettoyer les données, à vérifier le code pour les erreurs, à déboguer les programmes et à expliquer ce que signifient les blocs de code en langage naturel.

Ces fonctionnalités font partie d’une vision plus large d’outils alimentés par l’IA qui pourraient servir d’assistants aidant les développeurs à trouver plus rapidement des solutions à leurs problèmes et aider quiconque souhaite créer une application à passer d’une idée dans sa tête à un logiciel qui œuvres.

En tant que développeur, nous avons tous des jours où nous nous sommes arrachés les cheveux en disant : Pourquoi ce truc ne fonctionne-t-il pas ? Et nous consultons un développeur plus expérimenté qui nous oriente dans la bonne direction, a déclaré Liuson. Quand Copilot peut partir, Hé, voici les quatre choses différentes qui sont communes à ce modèle de problème, ce sera énorme.

Cette nouvelle ère de développement de logiciels assisté par l’IA peut conduire à une plus grande productivité, satisfaction et efficacité des développeurs et rendre le développement de logiciels plus naturel et accessible à davantage de personnes, selon Scott.

Par exemple, un joueur pourrait utiliser le langage naturel pour programmer des personnages non-joueurs dans Minecraft afin d’accomplir des tâches telles que la construction de structures, libérant ainsi le joueur pour s’occuper d’autres tâches plus urgentes. Les graphistes peuvent utiliser le langage naturel pour créer des scènes 3D dans le moteur de rendu graphique Babylon.js. Les enseignants peuvent utiliser des outils de création et de collaboration 3D comme FrameVR pour créer un monde métavers comme un paysage lunaire avec des rovers et un drapeau américain.

Vous pouvez décrire au système d’IA ce que vous voulez accomplir, a déclaré Scott. Il peut essayer de comprendre ce que vous vouliez dire et vous montrer une partie de la solution, puis vous pouvez affiner ce que le modèle vous montre. C’est ce cycle itératif qui est fluide et naturel.

Ces outils, a ajouté Scott, vont également grossir les rangs des développeurs dans un monde qui sera de plus en plus propulsé par les logiciels.

Parce que l’avenir dépend tellement des logiciels, nous voulons qu’un ensemble large et inclusif de personnes participe à sa création, a-t-il déclaré. Nous voulons que les personnes de toutes sortes d’horizons et de points de vue puissent utiliser la technologie la plus puissante sur laquelle elles peuvent mettre la main pour résoudre les problèmes qu’elles ont, pour les aider à développer leurs entreprises et à créer la prospérité pour leurs familles et leurs communautés. .

Lié

Photo du haut : Kevin Scott, directeur de la technologie de Microsoft, a déclaré que les outils alimentés par l’IA aident les développeurs à passer des pensées dans leur tête au code. Photo publiée avec l’aimable autorisation de Microsoft.

John Roach écrit sur la recherche et l’innovation de Microsoft. Suivez-le sur Twitter.

www.actusduweb.com
Suivez Actusduweb sur Google News


Ce site utilise des cookies pour améliorer votre expérience. Nous supposerons que cela vous convient, mais vous pouvez vous désinscrire si vous le souhaitez. J'accepteLire la suite