L’Intelligence artificielle (IA) au service des développeurs
Les applications d’Intelligence artificielle se multiplient en vue d’industrialiser les phases de test et rendre
l’écriture du code semi-automatisée.
L’IA s’invite dans la programmation d’applications. La promesse à court terme : améliorer la productivité du codage,
voire en automatiser certaines phases. Avec une vision à plus long terme, certains laboratoires de recherche
planchent déjà sur des IA qui permettraient d’aller encore plus loin.
Plus de qualité et moins de tâches répétitives
Premier domaine investi par l’IA dans le développement logiciel : l’aide à la rédaction du code. Comme pour une
requête dans Google, elle consiste à proposer des suggestions personnalisées au fur et à mesure de la saisie.
Aujourd’hui, la fonctionnalité est bien connue des développeurs. Appelé natural language processing (NLP) il s’agit
d’aller puiser des connaissances dans des centaines de projets open sources affichant des niveaux de notation de
plus de cent étoiles. De quoi tirer la qualité vers le haut en orientant l’utilisateur vers les meilleures pratiques
du secteur.
L’objectif n’est pas de remplacer les développeurs mais d’éviter aux programmeurs le travail prosaïque et répétitif.
Se souvenir de la syntaxe d’un langage et de ses bonnes pratiques n’est pas une tâche à haute valeur ajoutée. Le but
est de réduire le temps passé sur les tâches périphériques tout en optimisant la qualité et la maintenabilité du
code au fur et à mesure de son évolution.
Quid du no-code
L’Intelligence artificielle est en passe d’arriver également sur le front du développement sans code. Basé jusqu’ici
majoritairement sur des moteurs de règles assez traditionnels, le no-code (ou low code) pourrait se tourner vers le
machine learning. En analysant des extraits de sources sur la base de millions d’autres logiciels de même finalité,
l’IA serait capable de recommander un code censé être plus performant, voire globalement plus efficace.
Avancée ou prise de risque ?
En raccourcissant le cycle de vie du développement logiciel, les solutions No Code/Low Code accélèrent la mise sur le
marché, améliorent la flexibilité et permettent aux développeurs de se concentrer sur l’innovation de base.
Cependant la réversibilité, la portabilité ou encore la migration
d’un service à un autre sont des notions importantes à prendre en compte lorsqu’on fait le choix du No
Code/Low Code.
Pour aller plus loin Découvrez notre article
flexibilité et dépendance