La programmation peut-elle être automatisée ?
Une analyse du créateur du langage de programmation Leaf

Le , par Patrick Ruiz, Chroniqueur Actualités
Les progrès de la robotique et de l’IA mettent chaque jour un peu plus en danger certains postes de responsabilités réservés aux hommes dans les entreprises. Tout récemment au Japon, 34 employés d’une compagnie d’assurance perdaient leur travail au profit de l’IA Watson d’IBM, preuve que la robotique et l’IA commencent à remplacer les humains. Du côté du Royaume-Uni, il est anticipé que 30 % des emplois seront automatisés d’ici à 2030 ; on parle ici d’emplois dans des secteurs comme l’industrie manufacturière, le commerce, la finance et les assurances, etc., mais il est rarement fait mention de la programmation. Cela veut-il dire que la programmation serait exemptée de la menace que constituent la robotique et l’IA ? C’est à cette question qu’a essayé de répondre Edaqa Mortoray, le créateur du langage de programmation Leaf, et un développeur Fuse.

Automatisation et robots

Edaqa Mortoray débute par une virgule dans l’industrie manufacturière pour en extraire une définition de la notion d’automatisation, celle bien connue qui stipule qu’il s’agit du processus qui consiste à faire passer une matière d’un état A (matière brute) à un état B (produit fini), ce, en se servant de machines. Le parallèle avec l’univers de la programmation lui permet ensuite d’identifier le produit fini à un exécutable à faire tourner sur une plateforme donnée, la matière brute au code source, et la machine à un compilateur, puisque c’est celui-ci qui est chargé d’opérer la transformation. Pour rester en phase avec ses développements, nous avons jeté un œil à l’utilisation du célèbre compilateur gcc (cf. figure ci-dessous).


Une unique utilisation de la commande gcc –o hello.exe hello.c permet tour à tour d’intégrer le texte des fichiers d’entête au code source (Preprocessing), de compiler le fichier obtenu, de l’assembler, puis de le lier à des bibliothèques pour obtenir un exécutable. Quatre étapes pour lesquelles l’intervention humaine n’a pas été nécessaire, et dont la répétition deviendrait vite fastidieuse pour un opérateur humain.

C’est là tout l’intérêt, d’après le créateur du langage de programmation Leaf, de disposer d’une machine (le compilateur) qui se chargera, chaque fois qu’il sera nécessaire, de passer ces étapes en revue pour fournir automatiquement un exécutable, vous évitant au passage beaucoup de travail. Dans l’industrie manufacturière, on voit généralement des robots effectuer des tâches de nature répétitive à longueur de journée ; le parallèle à l’univers de la programmation permet donc de percevoir le compilateur comme un robot dans cette analyse.

Limites des robots actuels

D’après Edaqa Mortoray, même si le compilateur précédent ôte déjà à l’humain beaucoup de sa charge de travail, l’idéal serait qu’il soit capable de faire plus, c’est-à-dire produire lui-même le code source dont il a besoin pour générer un exécutable. Il faudrait pour cela qu’il soit selon lui doté d’aptitudes cognitives suffisantes pour réceptionner les spécifications techniques d’un projet, les transformer en code source pour en faire un ou des exécutables, toutes choses qui vont bien au-delà des performances de la meilleure des IA disponibles actuellement sur le marché selon lui.

Effectuer des tâches à caractère répétitif, voilà selon Edaqa Mortoray le rôle qu’est censé jouer un robot dans la programmation, rôle qui ne s’écarte finalement pas de celui qu’on lui attribue généralement dans l’industrie manufacturière. De ce point de vue donc, beaucoup de tâches de programmation ont déjà été automatisées et devraient continuer de l’être dans des domaines qui requièrent que l’on dispose de machines capables de rechercher, de comparer, etc., ce, sans arrêt. Il entrevoit l’utilisation de ces robots pour des applications comme les analyseurs de code statique ou autres outils de refactoring qu’ils serviraient à rendre plus performants, mais s’inscrit en faux contre la possibilité de les voir remplacer l’humain dans ce rôle de programmeur, du moins, dans un futur proche.

Sources : Blog Edaqa Mortoray, NTU

Et vous ?

Que pensez-vous ?

Partagez-vous cet avis ?

Voir aussi :

L'automatisation des tâches ou l'automatisation des emplois ? les robots vont-ils bientôt commencer à mettre l'homme au chômage ?

Un développeur est licencié après avoir automatisé ses tâches de programmation pendant six ans, il découvre qu'il ne sait plus écrire un bon programme

Une entreprise chinoise remplace 90 % des employés d'une usine par des robots, et voit sa production augmenter de 250 %


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de Shepard Shepard - Membre éclairé https://www.developpez.com
le 29/03/2017 à 10:06
Avatar de Mimoza Mimoza - Membre actif https://www.developpez.com
le 29/03/2017 à 10:29
Le même en V.O. :

Avatar de Ryu2000 Ryu2000 - Expert confirmé https://www.developpez.com
le 29/03/2017 à 10:36
Citation Envoyé par Patrick Ruiz  Voir le message
Que pensez-vous ?

Il existe beaucoup de métier plus facilement automatisable que les professions de l'ensemble "programmation".
Qu'on commence par automatiser les banquiers, les traders, les assureurs, etc.. (il faut commencer petit)

Citation Envoyé par Patrick Ruiz  Voir le message
Partagez-vous cet avis ?

On ne connait pas les limites de la technologie.
Si on parlaient de la technologie actuel à une personne de 1980 il aurait peut être du mal à nous croire (on se balade avec un petit appareil tactile, équipé de 2 caméras, un micro, un GPS, connecté à un réseau mondial, si ça se trouve les smartphones d'aujourd'hui sont plus performant qu'un super calculateur des années 80).

C'est possible qu'un jour en exprimant un besoin, un programme va créer un programme pour répondre à ce besoin.
Le problème c'est qu'aucun client n'arrive à exprimer un besoin correctement, donc ça ne sert à rien...
Avatar de r.morel r.morel - Membre averti https://www.developpez.com
le 29/03/2017 à 11:57
Citation Envoyé par Ryu2000  Voir le message
C'est possible qu'un jour en exprimant un besoin, un programme va créer un programme pour répondre à ce besoin.
Le problème c'est qu'aucun client n'arrive à exprimer un besoin correctement, donc ça ne sert à rien...

C'est exactement çà ! Mais tout le monde croit que c'est simple.
Le pire est que c'est universel...
Avatar de Aiekick Aiekick - Membre expérimenté https://www.developpez.com
le 29/03/2017 à 12:04
c'est un plaisir de programmer. donc pourquoi laisser a un robot ce qui me plait..
Avatar de Shepard Shepard - Membre éclairé https://www.developpez.com
le 29/03/2017 à 12:11
Rien ne t'empêchera de continuer à programmer pour le plaisir, mais l'industrie se passera de tes services à ce niveau là ...

Je pense que tôt ou tard la programmation se fera sur base de diagrammes UML (ou autre similaire) et non plus de code, ce sera juste une autre forme de programmation ...
Avatar de paidge paidge - Membre éprouvé https://www.developpez.com
le 29/03/2017 à 12:14
Avatar de Ryu2000 Ryu2000 - Expert confirmé https://www.developpez.com
le 29/03/2017 à 12:15
Citation Envoyé par Aiekick  Voir le message
c'est un plaisir de programmer. donc pourquoi laisser a un robot ce qui me plait..

C'est pas le développeur qui va demander "S'il vous plait, remplacez mon job par une intelligence artificielle, merci.".
C'est les patrons qui se disent "une intelligence artificielle nous coûterait moins cher qu'un développeur".

Ça me rappel le professeur Farnsworth dans Futurama :

The First Robot Capable of Qualifying for a Boat Loan

Peut être qu'il serait plus facile de programmer un commercial...
Avatar de NSKis NSKis - En attente de confirmation mail https://www.developpez.com
le 29/03/2017 à 12:29
Cette histoire me rappèle une entreprise qui a décidé de faire des économies sur son informatique: Elle a licencié son équipe de développeurs et a sous-traité leur travail à une société de développement informatique en Ukraine.

Au final, la société en question a dû engager des mecs à l'interne pour "pondre" les spécifications décrivant le travail à faire réaliser par les ukrainiens. Pas des spécifications décrivant en gros les fonctionnalités désirées mais fournissant une description détaillée permettant de découper le projet en une multitude de mini-développements "faciles" à tester et à vérifier.

Résultat???

Bingo!!! Au final, la société s'est retrouvée avec plus de "spécificateurs" que précédemment de développeurs et a juste perdu son indépendance et ses compétences
Avatar de pierre-y pierre-y - Membre confirmé https://www.developpez.com
le 29/03/2017 à 12:36
On devrait plutôt s'inquiéter quand une I.A. va se mater la série des films terminator et se prendre soudain d'une folle passion pour l’électronique et la soudure^^.
Offres d'emploi IT
Data Ingénieur F/H
Zenika - Aquitaine - Bordeaux (33000)
Consultant AMOA/Business Analyst [H/F]
Simac Professional - Luxembourg - Luxembourg
Développeur Drupal Confirmé (H/F)
Voyages-sncf.com - Ile de France - La Défense

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil