C'est la fin de la programmation telle que nous la connaissons. - 1

Au cours des dernières décennies, divers mouvements ont secoué le monde du logiciel avec la promesse soit d’externaliser une grande partie du travail de programmation aux utilisateurs finaux, soit d’automatiser davantage le processus. Les outils CASE, les langages de programmation de quatrième génération, la programmation orientée objet, l’architecture orientée services, les microservices, les services cloud, le PaaS, l’informatique sans serveur, le code minimum et l’absence de code ont théoriquement allégé le lourd fardeau du développement logiciel. Et, potentiellement, menace la sécurité des développeurs.

Cependant, les développeurs de logiciels d’aujourd’hui sont plus occupés que jamais et la demande de compétences ne fait qu’augmenter.

« Je me souviens quand le cloud est devenu populaire et que les entreprises sont passées à Office 365, tout le monde disait que les informaticiens seraient bientôt au chômage », se souvient Vlad Catrinescu, contributeur de Pluralsight. « Devinez quoi : nous sommes toujours là et plus occupés que jamais. »

La question est de savoir comment le travail des développeurs finira par évoluer. Il est possible que l’intelligence artificielle utilisée pour développer et maintenir les applications fasse enfin du codage de bas niveau une chose du passé.

La programmation est-elle au bord de l’extinction ?

Matt Welsh, PDG et co-fondateur de Fixie.ai, estime en partie que « la programmation sera obsolète dans dix ans. Je pense que l’idée traditionnelle d' »écrire un programme » est au bord de l’extinction », prédit-il dans un récent article publié par l’Association for Computing Machinery. « En effet, pour toutes les applications sauf très spécialisées, la plupart des logiciels tels que nous les connaissons seront remplacés par des systèmes d’IA qui seront enseignés plutôt que programmés. »

Dans les situations où « un programme simple est nécessaire – après tout, tout n’a pas besoin d’un modèle avec des centaines de milliards de paramètres exécutés sur un cluster de GPU – ces programmes seront générés par l’IA au lieu d’être codés à la main », ajoute-t-il.

Quel sera le rôle exact des professionnels de l’informatique et des développeurs ? Vlad Catrinescu estime que la nouvelle génération de solutions de développement automatisé ou low-code « permet aux informaticiens et aux développeurs de travailler sur des applications plus complexes. Les services informatiques peuvent se concentrer sur les applications d’entreprise et créer des applications et une automatisation sophistiquées qui apporteront une grande valeur à l’entreprise. »

Modèles de didacticiel pour le remplacement de codage

Jusqu’à récemment, « le développement s’est concentré sur l’acquisition de plus de connaissances en ingénierie ou sur la réutilisation de plus de codeurs », explique Jared Ficklin, technologue créatif en chef et co-fondateur d’argodesign. «Cela a conduit à l’émergence d’outils facilitant l’orchestration qui permettent aux développeurs d’applications courantes d’utiliser une interface graphique pour orchestrer les décisions d’IA à l’aide de modules de code appelés compétences écrits par des experts en apprentissage automatique. De plus, il permet aux experts du domaine de gérer des campagnes entières à partir d’une seule interface. »

Ces outils basés sur l’apprentissage automatique « aident à saisir les exigences et à tirer parti des connaissances techniques », explique Jared Ficklin. «Là où il y a des lacunes, les programmeurs doivent intervenir et les combler. Dans tous ces cas, l’architecture est toujours gérée par le service informatique, car il existe de nombreux points d’interopérabilité et de sécurité à prendre en charge. »

A Lire aussi  L'astronaute pansexuel Cameron Bess parle du lancement avec Blue Origin et de l'importance de la diversité dans l'espace › Geeky News

Matt Welsh prédit qu’avec l’avènement et le développement rapide de l’IA et de l’apprentissage automatique, les modèles d’apprentissage pourraient remplacer le codage aux niveaux les plus fondamentaux : « Les assistants de codage basés sur l’IA comme CoPilot ne font qu’effleurer la surface de ce que je décris. Il me semble clair qu’à l’avenir, tous les logiciels seront écrits par l’IA, et les humains se verront attribuer, au mieux, un rôle de contrôle. Si j’ai appris quelque chose au cours des dernières années de travail dans l’IA, c’est qu’il est très facile de sous-estimer la puissance de modèles d’IA toujours plus grands. Je ne parle pas seulement de choses comme le remplacement des programmeurs par CoPilot de Github. Je parle de remplacer le concept même d’écriture de programmes par des modèles d’apprentissage. »

Grandir autrement

L’élimination complète du codage ouvre de nouvelles façons de penser au développement d’applications pour des rôles commerciaux de haut niveau plus conceptuels. « Un changement passionnant vient de sources inattendues », déclare Jared Ficklin. « Le monde entier a introduit le code faible/aucun code en tant qu’interface visuelle dans laquelle vous déplacez les nœuds pour rassembler le code. C’est de l’orchestration et cela nécessite encore de savoir comment le code s’articule. »

Jared Friklin illustre cette nouvelle façon de développer et de mettre à jour des applications en action. « L’un de nos clients actuels, Builder AI, a adopté une approche unique utilisant l’analyse des conversations vocales assistée par l’IA pour collecter les exigences, puis continuer à développer et à fournir cette expérience », explique-t-il.

«Ils ont même un assistant vocal qui peut être ajouté à un appel Zoom qui écoutera quelqu’un décrire son application mobile à un chef de projet, puis capturera et répertoriera automatiquement les fonctionnalités. L’humain les édite ensuite et l’IA les associe au modèle architectural de l’application. Lorsque des modules de code existent, ils sont ajoutés, et lorsqu’ils n’existent pas, les développeurs de code interviennent pour ajouter le module. Au fil du temps, ce processus deviendra de plus en plus automatisé. »

Cela signifie plus d’informatique en temps réel, poursuit Jared Ficklin. « Celui où la latence logicielle, le rendu et la construction sont appelés en temps réel. Vous pouvez demander à Alexa de créer une application pour vous aider à organiser votre cuisine. L’IA reconnaîtra les fonctionnalités, choisira les bons schémas et délivrera l’application en temps réel par radio sur votre téléphone portable, ou éventuellement sur un ordinateur portable. »

Source : .com