Site d’Emmanuel Saint-James
Philologie de la programmation
De l’échec considéré comme une réussite (à tort)
Les langages évolués ont dispensé le programmeur de gérer la mémoire, la programmation dite fonctionnelle était à la limite de l’affranchir de la conception de l’algorithme, ce que la dénommée intelligence artificielle à chercher à atteindre entièrement. Il convient cependant de clarifier les choses :
- dire qu’"il n’y a pas d’algorithme" pour par exemple le problème du voyageur de commerce est inexact : il y a toujours l’algorithme calculant toutes les combinaisons et les comparant pour trouver la meilleure, simplement le temps de calcul est humainement inacceptable ;
- pour ramener cet algorithme par défaut à un temps raisonnable, mais souvent encore excessif, l’énoncé de règles ou de contraintes permet de condamner d’avance certains sous-ensembles en effectuant un retour en arrière (backtrack en anglais) avant l’hypothèse apparaissant erronée ;
- mais cet énoncé ne permet pas toujours d’éviter un calcul infini lorsque l’ensemble des combinaisons possibles est infini ;
- ce style de programmation est souvent nommé programmation logique, de nouveau par une traduction trop littérale de l’anglais (qui voudrait d’une programmation illogique ?), programmation par règles ou par contraintes semble plus indiqué ;
- malgré un engouement excessif ayant débouché sur une grande déception (le fiasco de la 5e génération japonaise), ce style se survit sur des domaines particuliers et finis : la reconnaissance de motifs, déjà évoquée, et les feuilles de styles en cascade (CSS) utilisées en typographie numérique ;
- aujourd’hui l’intelligence artificielle a renoncé à l’intelligibilité en se fondant sur des algorithmes statistiques reposant sur des milliards de paramètres.
- Valid CSS 2.1
- Valid XHTML Basic 1.1
- Triple-A conformance Web Content Accessibility Guidelines 2.0
-
Calculé le 17 mars 2026 à 12h54minpar DidacSPIPuniversite
- SPIP
- Valid RSS Atom