Si l'on considère la question, elle semble assez ironique. Est-il possible que les créations – les systèmes intelligents – finissent par remplacer ou supplanter leurs créateurs – les programmeurs ? Cela ne ressemble-t-il pas au scénario d'un film de science-fiction ? La question la plus urgente, cependant, est la suivante : est-ce vrai ?
Selon une étude récente sur l’avenir du travail, près de la moitié des professions aux États-Unis devraient être numérisées d’ici 2030. Si nous acceptons ces résultats, l’avenir proche semble plutôt sombre. Cependant, avant d’envisager un scénario apocalyptique dans lequel les robots prendraient le contrôle de toutes les professions humaines, réfléchissons à la manière dont l’intelligence artificielle (IA) assiste les programmeurs.
Voir aussi : Best Buy acquiert la société britannique Current Health
Comment l'intelligence artificielle aide les programmeurs
Avant même que le cycle de développement standard d'un logiciel ne commence, les programmeurs doivent définir les exigences techniques, ou les caractéristiques et fonctionnalités du produit. Ils peuvent alors commencer le véritable processus de conception et de développement, qui comprendra les tests, la mise en œuvre et la maintenance.
Naturellement, passer d’une phase à l’autre montre les problèmes et les lacunes qui doivent être résolus. Avant que chaque logiciel ne soit lancé, il doit subir plusieurs cycles de vérification et d’amélioration. Le cycle de vie du développement logiciel peut être long, coûteux et ennuyeux. Pour les humains, cela peut être exaspérant. Les programmeurs ont besoin d’aide, et c’est là qu’intervient l’IA.
1. Écriture du programme
L'intelligence artificielle permet aux programmeurs de détecter les failles dans leur code au fur et à mesure de leur écriture. Ubisoft, créateur français du logiciel, est un pionnier dans ce domaine. Il a développé Commit Assistant, un outil d'intelligence artificielle qui vérifie la présence de codes incorrects à l'aide d'une bibliothèque logicielle de défauts de codage courants observés dans des projets antérieurs. Ainsi, Commit Assistant protège les programmeurs contre la répétition des erreurs précédentes, leur permettant ainsi de gagner du temps et des efforts lors de la correction des problèmes plus tard dans le processus.
De plus, les assistants de programmation intelligents qui fournissent des recommandations de saisie semi-automatique pendant que les programmeurs saisissent du code sont des exemples de technologies d'IA qui simplifient la vie des programmeurs. Et pourquoi les programmeurs n'en profiteraient-ils pas ? Soyons réalistes, passer au crible des centaines de pages de paperasse peut être épuisant.
2. Résolution des bugs
De nombreuses failles dans les logiciels ne se révèlent qu'après l'installation de ces derniers. C'est assez typique, car les fabricants doivent souvent se dépêcher pour commercialiser leurs produits afin de devancer la concurrence. Par conséquent, peu d'applications sont exemptes de faiblesses exploitables.
Ce problème peut être résolu en utilisant des méthodes d'intelligence artificielle (IA) et d'apprentissage automatique (ML). Ils peuvent configurer les ordinateurs pour analyser les programmes à la recherche de défauts et les corriger avant leur publication.
3. Estimation précise de la livraison du projet
Les initiatives de développement de logiciels ne respectent presque jamais les délais et les budgets établis avant leur démarrage.
Cependant, avec l’aide de l’IA, les programmeurs (ou, plus exactement, leurs chefs de projet) peuvent présenter à la direction des échéanciers et des besoins de financement plus réalistes, tout en tenant compte de toutes les situations imaginables et des obstacles probables.
L’IA est-elle capable de coder ?
La réponse courte et désagréable est oui. L'un de ces systèmes s'appelle « GPT-3 », et il est un descendant de ce qui a été qualifié d'« IA la plus meurtrière du monde », GPT-2.
Le 13 juillet 2020, le chercheur Sharif Shameem a déclaré qu'il avait utilisé GPT-3 pour concevoir une page Web en fournissant simplement des descriptions. Celles-ci ont été converties en code JSX à l'aide de GPT-3. JSX est un ajout syntaxique à JavaScript (JS) qui permet le développement de sites Web à l'aide de React, une boîte à outils JavaScript (JS) open source pour la création d'interfaces utilisateur (UI) ou de leurs composants.
Bien que GPT-3 soit capable de coder dans une grande variété de langages (par exemple, les feuilles de style en cascade [CSS], JSX et Python), il présente, comme tout programme fraîchement créé, un certain nombre de problèmes. L'un d'eux est que le code généré par GPT-3 peut être inutile. De plus, il fait des erreurs qui sont très difficiles à corriger sans l'aide de personnes. Par exemple, des requêtes mathématiques triviales et élémentaires telles que « Quel nombre précède un million ? » recevront la réponse de GPT-3 par « Neuf cent mille et quatre-vingt-dix-neuf ».
Voir aussi : Les AirPods d’Apple pourraient-ils devenir des aides auditives ?
Les systèmes d’intelligence artificielle peuvent-ils remplacer les programmeurs ?
Pour revenir au sujet principal : « Les systèmes d’IA peuvent-ils prendre la place des programmeurs ? » Pour l’instant, les ingénieurs en logiciel du monde entier peuvent prendre une grande respiration. Le problème crucial est le suivant : ce n’est pas toujours le cas.
Bien qu’il existe actuellement des outils d’IA capables d’écrire du code rudimentaire, ils n’ont pas la capacité de hiérarchiser les fonctionnalités ou de reconnaître le problème auquel un logiciel en cours de développement répondrait.
Pour l'instant, seul un programmeur particulièrement doué peut créer du code basé sur une compréhension approfondie des spécifications et des besoins exacts. Et, comme le montre l'exemple, seuls les programmeurs peuvent désormais donner un sens à des problèmes complexes sans solution définie ou avec plusieurs solutions plausibles.
En effet, ce que les chercheurs avaient initialement prévu, à savoir que la fonction des programmeurs évoluerait à mesure que les systèmes d’IA s’amélioreraient, reste vrai. Au lieu de créer du code, ils seraient chargés d’évaluer et de gérer les données qui serviront de variables d’entrée aux algorithmes d’IA qui produiront à terme des logiciels.
L’IA remplacera-t-elle un jour les programmeurs ? Non, du moins pour le moment. Les programmeurs doivent toutefois garder à l’esprit les nouvelles technologies comme GPT-3, qui sont capables de produire rapidement des programmes informatiques sans avoir besoin de coder. Les développeurs de logiciels peuvent facilement fournir des paramètres et des composants qui seront utilisés pour amorcer ou préparer l’application. Bien que l’IA susmentionnée nécessite davantage de perfectionnement, notamment en termes d’amorçage, elle a le potentiel de soulager les programmeurs de plusieurs tâches.
Plutôt que de dresser un tableau sombre, les programmeurs devraient absolument accepter les aspects positifs de l’IA. De nombreux secteurs ont déjà adopté cette technologie afin d’augmenter leur production et de réduire leurs dépenses. Cette tendance étant inévitable, ils auraient intérêt à développer leurs compétences afin de s’adapter à l’évolution du terrain.
Image en vedette : Photo de conception créée par rawpixel.com - www.freepik.com
Abonnez-vous à Whitepapers.online pour en savoir plus sur les nouvelles mises à jour et les changements apportés par les géants de la technologie qui affectent la santé, le marketing, les affaires et d'autres domaines. De plus, si vous aimez notre contenu, partagez-le sur les plateformes de médias sociaux comme Facebook, WhatsApp, Twitter, etc.