Programmation sans programmeurs : 70 ans de promesses et la réalité

Программирование без программистов: 70 лет обещаний и реальность — illustration 1

L’idée de créer des programmes sans la participation de codeurs professionnels n’est pas nouvelle. Depuis 1959, date de l’apparition de COBOL, et jusqu’aux réseaux neuronaux modernes, les développeurs s’efforcent de simplifier le processus de création de logiciels. Chaque nouvelle génération d’outils a éliminé une partie de la routine, mais un élément critique est toujours resté : l’humain, qui prend les décisions et contrôle le résultat. Dans cet article, nous examinerons pourquoi, malgré toutes les avancées technologiques, l’humain reste aux commandes du développement sans programmeurs, et comment cela affecte votre entreprise.

Origines : de COBOL à la « seconde littératie »

En mai 1959, le comité CODASYL, qui comprenait des personnalités éminentes telles que Grace Hopper, a créé COBOL – un langage conçu pour être compréhensible même par les managers. Il était censé ouvrir la programmation à un large éventail de spécialistes. Cependant, comme l’a montré la pratique de 2020, lorsqu’un besoin urgent de traiter les demandes d’allocations de chômage est apparu, il s’est avéré extrêmement difficile de trouver des spécialistes COBOL.

Le langage, créé pour la simplicité, a finalement exigé des experts spécialisés. Cet exemple démontre clairement qu’une simplicité apparente au départ peut se transformer en complexité à long terme.

Andreï Ershov, l’un des fondateurs de la programmation système soviétique, a promu l’idée d’une « seconde littératie » – la capacité de penser de manière algorithmique, qui, selon lui, devait devenir une compétence universelle. Son rapport à la Conférence mondiale de l’IFIP en 1981 comparait le rôle de l’ordinateur à l’imprimerie, prédisant une diffusion massive des compétences en programmation par l’éducation scolaire.

Évolution des outils : visualisation et simplification

Les premiers environnements visuels, tels que Sketchpad d’Ivan Sutherland (1963) et le langage Logo de Seymour Papert, visaient à supprimer la barrière de la syntaxe. Logo, avec sa célèbre « tortue », s’est brillamment montré efficace dans l’enseignement, mais s’est avéré inefficace pour les tâches complexes.

En URSS, des idées similaires ont été développées dans le langage algorithmique scolaire d’Ershov et l’outil DRAKON (Дружелюбный Русский Алгоритмический язык, Который Обеспечивает Наглядность – Langage Algorithmique Russe Amical, Qui Assure la Clarté), créé pour le programme « Bourane » sous la direction de Vladimir Parondzhanov. DRAKON, axé sur la communication entre les personnes, est toujours utilisé dans des domaines de niche, par exemple en médecine pour décrire les recommandations cliniques.

Environnements visuels : avantages et limites

  • Avantages : Simplification de l’entrée en programmation, clarté, accélération de l’apprentissage.
  • Limites : Inefficacité pour les systèmes complexes, masquage de la logique interne (états, flux de données, gestion des erreurs), ce qui rend la mise à l’échelle et le débogage difficiles.

En 1991, Microsoft a lancé Visual Basic, qui a été une véritable révolution. Alan Cooper, l’auteur de l’idée, a posé le concept de création facile d’interfaces pour différents rôles. Visual Basic permettait de construire rapidement des prototypes, ce qui l’a rendu incroyablement populaire – jusqu’à 40% du marché des outils de développement.

Cependant, avec la complexité croissante des projets, des problèmes sont apparus :

  • Le code se transformait en « spaghettis », rendant la compréhension et la maintenance difficiles.
  • La dépendance à Microsoft créait des difficultés lors de la migration.
  • Comprendre ce qui se passait dans l’application devenait de plus en plus complexe.

En 2008, Microsoft a cessé de prendre en charge le Visual Basic 6 classique. La leçon tirée de cette histoire : la facilité d’assemblage ne signifie pas toujours la facilité de gestion et de maintenance.

Plateformes No-Code/Low-Code modernes : accélération ou illusion ?

Gartner prévoit que d’ici 2029, 80% des entreprises utiliseront des plateformes low-code pour les applications critiques. Ces outils accélèrent effectivement le développement de prototypes de 50 à 70%. Mais il y a aussi des pièges :

Programmation sans programmeurs : 70 ans de promesses et la réalité — illustration 2
  • Écart entre la maquette et la réalité : La plateforme ne peut pas concevoir le parcours utilisateur, la gestion des erreurs ou le stockage des données.
  • Complexité du débogage : Les schémas visuels ne montrent pas les conditions de concurrence ou les interblocages, rendant le débogage aléatoire.
  • Flexibilité limitée : Les exigences non standard conduisent souvent à la nécessité de solutions de contournement ou à un passage au codage manuel, ce qui annule tous les avantages.
  • Manque de support du cycle de vie : La surveillance, la journalisation, l’annulation des modifications – ces aspects sont rarement couverts par les plateformes, laissant l’entreprise sans protection en cas de défaillance.

« Le client s’attend à un bouton magique qui résoudra son problème commercial, mais il obtient une belle interface qui, dans des conditions réelles, fonctionne moins bien que ce qui avait été promis lors de la démo. »

Réseaux neuronaux et « vibecoding » : un nouvel espoir ?

L’émergence des grands modèles linguistiques (LLM) et du « vibecoding » a ravivé le rêve de la programmation pour tous. Vous décrivez la tâche avec des mots simples, et le réseau neuronal génère du code. Cependant, les données de GitClear pour 2020-2024 montrent une augmentation de la proportion de lignes de code copiées et de code réécrit peu après sa création.

Une étude d’Uplevel a révélé que chez les développeurs utilisant GitHub Copilot, la proportion de bugs a augmenté de 41%. Les modèles gèrent bien les brouillons, mais la prise de décision sur ce qui sera mis en production nécessite une personne qui comprend le contexte commercial, les contraintes architecturales et les modèles d’expérience utilisateur. Une personne sans expérience technique ne pourra pas déboguer le code généré. Le choix d’un entrepreneur fiable devient encore plus critique.

Pourquoi l’humain reste-t-il toujours aux commandes ?

Le problème est plus profond que la qualité des outils et modèles spécifiques :

  1. Aspect cognitif : Les outils visuels masquent une logique complexe, et le cerveau humain a des limites dans la perception des dépendances. Des études montrent qu’avec plus de 50 éléments dans un modèle, la probabilité d’erreur dépasse 50 %. Les réseaux neuronaux changent la forme du problème : au lieu d’écrire du code, il faut le lire, le vérifier et garder en tête une logique que l’on n’a pas construite.
  2. Aspect économique : Les grands fournisseurs construisent des plateformes low-code comme des écosystèmes dont il est difficile de sortir. Plus le client s’intègre profondément, plus il est lié, ce qui entraîne des coûts de migration élevés. Les entreprises craignent de confier la gestion de leur système à un fournisseur.

Foire aux questions

Les solutions no-code/low-code permettent-elles vraiment d’économiser du budget ?

Au stade du prototypage et pour des tâches simples, oui, mais lorsque la logique se complexifie ou que des fonctions non standard sont nécessaires, les coûts de développement, de support et de migration éventuelle vers d’autres solutions peuvent largement dépasser les économies initiales. Il est important de réaliser une comparaison des coûts à long terme.

L’IA peut-elle entièrement remplacer une équipe de développeurs ?

À ce jour, non. L’IA peut automatiser les tâches routinières et générer des brouillons de code, mais la prise de décisions stratégiques, la compréhension du contexte métier, la conception d’architectures complexes, le débogage et la maintenance du système restent l’apanage de l’humain. L’IA est un outil puissant entre les mains d’un expert, mais pas un remplacement complet.

Comment choisir la plateforme de développement appropriée ?

Lors du choix d’une plateforme, tenez compte non seulement de la vitesse de développement, mais aussi de la flexibilité, des capacités de mise à l’échelle, du coût du support, de la disponibilité d’experts sur le marché, ainsi que des risques de dépendance vis-à-vis du fournisseur. Il est important d’évaluer dans quelle mesure la plateforme correspond à vos objectifs commerciaux à long terme et si elle ne créera pas de « maux de tête » à l’avenir. Recherchez des solutions qui offrent une approche globale si vous avez besoin non seulement de code, mais aussi de contenu.

Conclusion

Les tentatives de se passer de programmeurs durent depuis 70 ans, et chaque nouvelle technologie apporte ses avantages. Cependant, le rôle fondamental de l’humain – prendre des décisions, contrôler le processus et s’adapter aux conditions changeantes – reste inchangé. Pour les entreprises, cela signifie que les investissements technologiques doivent s’accompagner d’investissements dans l’expertise et la compréhension de la manière dont ces technologies s’intègrent dans la stratégie globale.

Au lieu de chercher le « bouton magique », concentrez-vous sur la construction d’une équipe efficace et le choix d’outils qui améliorent les capacités de vos spécialistes, plutôt que d’essayer de les remplacer complètement. Si vous recherchez un « guichet unique » pour résoudre vos problèmes de production de contenu, contactez-nous, nous vous aiderons à trouver la solution optimale qui vous fera économiser votre budget et vos nerfs.

A new version of the OpenSSL library is available

The OpenSSL project team has just released a new version of its library, fixing a critical vulnerability.

This vulnerability, referenced as CVE-2014-0160 and nicknamed Heartbleed, allows an attacker to recover information from the server’s memory, including private keys and user session cookies.

All versions of OpenSSL from 1.0.1 to 1.0.1f are affected. The vulnerability is fixed in version 1.0.1g.

We invite you to update your systems as soon as possible.

For more information, you can consult the following links:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *