À l’heure où le code est devenu la discipline reine de l’informatique, l’intelligence artificielle entend se substituer à l’humain pour créer des applications et logiciels à partir d'instructions simples.
Depuis la rentrée 2016, l’apprentissage du code figure au programme des collégiens français et une «sensibilisation» est proposée dès l’école primaire. Une intention louable, qui rappelle l’initiative «Computer Science for All» (Informatique pour tous) lancée par Obama en janvier 2016 et qui ambitionne de faire des petits Américains des programmateurs en herbe. Hélas, les compétences de ces futurs génies risquent de s’avérer désuètes lorsqu’ils se présenteront sur le marché du travail.
Fini le dur apprentissage de Javascript, Ruby, Python, et autres C++. Demain, l’intelligence artificielle nous délivrera du laborieux travail de codage informatique ! Il semble en effet stupide de constater que la programmation consiste aujourd’hui essentiellement à transposer des instructions humaines en langage informatique chargé de reconstruire l’instruction humaine en question. Un travail long, laborieux et peu gratifiant, comme de nombreux témoignages s’en sont fait récemment l’écho.
Programmer sera aussi facile que dresser un chien
« Bientôt nous ne programmeront plus les ordinateurs. Nous les entraîneront comme des chiens », titrait ainsi il y quelques mois le magazine américain Wired. Le fondateur de Github, Chris Wanstrath, est sur la même ligne : « écrire des instructions sur un ordinateur est la manière la plus bête d’échanger de l’information avec un système », a-t-il déclaré le 11 octobre dernier devant un parterre de programmeurs lors de sa conférence annuelle. Selon lui, il suffira demain de donner des consignes verbales à l’ordinateur pour qu’il créée lui-même son propre logiciel. Guillaume Bouchard, chercheur au XRCE, le centre de recherche européen de Xerox, est tout aussi enthousiaste : « la programmation automatisée ferait tomber toutes les barrières techniques en termes d'innovation, démocratisant du même coup la création de nouveaux logiciels. Il nous suffira de communiquer nos idées à la machine pour les voir prendre forme automatiquement ». Un peu comme WordPress qui a permis à n’importe quel novice de créer des sites internet sans avoir la moindre notion de code HTML.
Créer un logiciel en une fraction de seconde
De la science-fiction ? Chez Google, une partie du puissant algorithme de recherche est déjà partiellement écrit par une intelligence artificielle qui s’auto-alimente. En 2016, l’entreprise a fait appel à John Giannandrea, un spécialiste du Deep Learning, pour superviser sa division recherche. « Grâce à l’apprentissage automatique, nous n’aurons plus bientôt besoin d’écrire du code », se félicite-t-il. Encore plus fort, Microsoft a dévoilé en février 2017 un programme capable d’écrire son propre code. «DeepCoder» assemble des fragments de codes de logiciels existants pour créer son propre programme. Nourri avec de gigantesques bases de données issues de différents langages, il apprend quels fragments de code fonctionnent le mieux ensemble et quand utiliser un fragment à la place d’un autre. DeepCoder serait ainsi capable de créer des programmes en une fraction de seconde, d’après les équipes de recherche de Microsoft.
Une promesse loin d’être réaliste, selon Pirmin Lemberger, directeur scientifique chez Weave Business Technology. « Les programmes ainsi créés résolvent des problèmes très simples qui ne demanderait probablement pas beaucoup d'effort à un développeur pour être codés directement », relativise-t-il. « Ce que fait un développeur humain, à savoir comprendre un besoin client exprimé en langage naturel, et le convertir en code est des milliards de fois plus complexe ».
Supprimer les millions de lignes de code inutiles
En attendant un programme capable de créer des programmes à partir de simples idées, l’intelligence artificielle ouvre la voie à des améliorations considérables dans le travail des développeurs informatiques. En premier lieu, elle devrait améliorer drastiquement l’efficacité du code. Les programmes actuels contiennent ainsi des milliers de lignes de code et de fonctionnalités inutiles. Facebook contiendrait à lui seul 62 millions de lignes de code et si tout le code de Google était écrit sur du papier, la pile mesurerait 3,6 kilomètres de haut ! L’IA sera aussi un formidable outil pour repérer les bugs dans le code. « Les développeurs passent à un temps fou à passer en revue leurs lignes de code pour repérer et réparer une faille », confirme Diego Lo Giudice, analyste chez Forrester et spécialiste du développement logiciel. Surtout, le Deep Learning pourrait déboucher sur des logiciels ou applications radicalement nouveaux. « Nous avons créé des interfaces complètement artificielles d’interaction, avec des fenêtres, des formulaires, des menus interminables », déplore ce dernier. Par sa nature d’apprentissage, à partir de l’observation de l’utilisation quotidienne, « l’IA va créer des options et applications plus proches des réflexes naturels des gens ».
Le métier de développeur informatique ne va pas disparaître du jour au lendemain. « Mais il va évoluer vers d’autres formes. Il faudra par exemple être capable de collecter les données puis de faire le tri dans les applications créée s», suggère Diego Lo Giudice. Le codeur informatique est d’ailleurs encore une espèce rare que les recruteurs s’arrachent à prix d’or. Ces emplois occupent ainsi les trois premières places des métiers les plus recherchés sur LinkedIn.