Logiciels : La fin du codage, pour quels modèles d’apprentissage ?

Les fournisseurs de logiciels innovent chaque jour pour se maintenir parmi les développeurs les plus créatifs. Le monde des jeux de casinos en ligne est lui aussi à la pointe de la transition digitale. La programmation, comme bien d’autres domaines de l’informatique, est en profonde mutation, du fait de l’implication de plus en plus large de l’Intelligence Artificielle (IA).
Quelle plus-value technologique apportera, en ce cas, le recours à des modèles d’apprentissage, en se substituant au traditionnel codage ?
Des changements profonds bousculent le monde du logiciel. Une partie conséquente de la programmation semble passer aux mains des utilisateurs finaux, et l’automatisation (ou apprentissage-machines) n’en finit pas de progresser.
On ne compte plus les innovations techniques, qui menaceraient, croit-on, l’emploi des développeurs à l’avenir. Comme si, étant les plus proches dans la chaîne alimentaire auprès des robots de l’IA, ils risquaient d’être « les premiers mangés ». En tout cas, les légendes du transhumanisme cyborg ont de très beaux jours devant elles.
L’Ingénierie logicielle assistée
Parmi ces dernières tendances, on trouve les outils CASE, ou Ingénierie logicielle assistée par ordinateur, comme les environnements de développement intégré, les gestionnaires de bugs, de code, de planification ou de processus… Même s’ils rendent de fiers services, ils rencontrent aussi leurs limites, malgré ce qu’on imaginait au départ. Il faut croire que l’homme y aurait encore sa place.
Le langage de programmation de 4ᵉ génération
Le langage de programmation (4 GL) de quatrième génération, est encore une invention qui joue sur l’hybridation de la programmation et du langage de l’homme, en imitant pensée et conceptualisation. Les domaines d’expertises de la 4 GL sont : les requêtes de base de données, les générateurs de rapports, la manipulation de données, l’analyse et le reporting, les peintres et générateurs d’écran, les créateurs d’interfaces graphiques, l’optimisation mathématique, le développement web et les langages à usage général.
La programmation orientée objet
La programmation orientée objet (POO) est un courant de pensée de la programmation informatique et comme beaucoup de « nouveautés », sa conception originelle date des années 1960 à 70. Il s’agit d’une représentation des choses, un modèle cohérent – partagé à travers différents langages qui permettent son usage (Python, Java, C++). Ses grands concepts centraux tournent autour des notions d’encapsulation (regroupement de données), d’abstraction, en masquant les données inutiles, d’héritage, où la classe B hérite des attributs et méthodes de la classe A, et de polymorphisme : une même méthode peut être utilisée sur des entités différentes.
L’Architecture orientée services
L’architecture orientée services rend les composants logiciels réutilisables, en les faisant passer par des interfaces de services employant un langage commun. Comme dans les applications Cloud Native, on peut accéder à distance à ces services, interagir avec les fonctionnalités logicielles ou mettre les fonctions à jour de manière indépendante.
Le low code et le no code
La différence entre les deux types de fonctionnalité dépend du niveau de compétence requis : avec le no code, tout le monde peut avoir accès à la création d’outils numériques. Le low code est une forme d’assistance directe au développeur pour gagner du temps. Ce qui signifie qu’il en connaît les gammes. On peut choisir d’utiliser le no code en front-end et le low code en back-end, ce second domaine requérant une certaine sophistication.
L’informatique n’est pas à la veille de licencier !
Entre les lignes, on comprend que, loin d’en finir avec le rôle de programmateur-développeur, la complexification du champ requiert, sans cesse, de nouvelles compétences et des mises à jour ! Cela s’est déjà produit avec l’apparition du cloud et la charge de travail n’a fait qu’augmenter, même en déléguant aux unités externalisées.
Tout développeur peut aussi nous en donner confirmation : rien de plus ennuyeux que le codage de base avec ses lignes répétitives : si une machine quelconque peut s’en charger, personne ne le regrettera. C’est, d’ores et déjà, un domaine expérimental de l’IA.
Du codage à l’orchestration d’interface IA
Le low code permet aux professionnels de travailler sur des applications plus complexes, qui apporteront une réelle valeur ajoutée aux sociétés high-tech.
On s’est déjà concentré sur l’ingénierie permettant l’orchestration de solutions d’IA, souvent réalisées par des experts en apprentissage machine. Avec une simple interface, on peut réaliser une campagne entière.
L’humain intervient, finalement, sur les lacunes à combler et le département informatique est plus actif que jamais, pour veiller sur la sécurité comme sur l’interopérabilité. Les modèles de formation remplaceront progressivement le codage. Les développeurs se transformeront en superviseurs et en experts commerciaux, tournés vers la maîtrise des concepts fondamentaux, en agissant à un niveau supérieur à celui qui est actuellement le leur.