Aller au contenu principal

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.