La logique informatique
(selon les travaux de J.D WARNIER)
L.C.P Logique de construction de programmes
Au milieu des années 60, un grand progrès est réalisé par ceux qui envisagent de prendre le problème par le haut pour aller vers le détail. A la démarche raisonnable, consistant à aller du début vers la fin, on commence à substituer une démarche allant du général au particulier. Cette démarche est désignée par l'expression anglo-saxonne "Top down programming".
Les professeurs Boehm et Jacopini à Turin, Djikstra à Eindhoven, Wirth en Suisse, ainsi que beaucoup d'autres contribuèrent à ce développement.
Cependant, il fallut attendre les années 70, pour voir les théories sur la programmation structurée influer pratiquement sur le comportement des informaticiens. La liste de ceux qui y contribuèrent serait trop longue. Citons seulement : H.Mills, Baker, Yourdon, Constantine, Jackson et K.T Orr.
En France, différentes méthodes de programmation furent proposées, dont la plus répandue et la plus séduisante fut la méthode CORIG .
Tous ces efforts eurent des effets bénéfiques : Programmes plus clairs, plus vite écrits, plus fiables, et surtout plus faciles à modifier.
Les utilisateurs de ces méthodes cherchent à lister de manière ordonnée, les fonctions que doit accomplir le programme. Ils étudient indépendamment le conditionnement de chaque fonction et la programmation des instructions qui permettent de l'effectuer.
Ces programmes plus clairs que les programmes empiriques, se modifient plus aisément c'est un fait. Cependant, certains points communs à ces approches peuvent se dégager, qui constituent encore des obstacles à l'évolution des programmes. Nous pouvons les résumer ainsi :
- On tient plus compte des langages et des techniques utilisés que de la logique.
- La prise en considération de l'organisation des données à la sortie et à l'entrée du programme est le plus souvent inexistante, on ne se préoccupe que des fichiers physiques.
- On néglige d'y définir les données d'entrée et de sortie, ainsi que les données (traitantes) du programme comme des ensembles mathématiques.
En conséquence, ces méthodes ne fournissent pas aux programmeurs les moyens d'aborder le problème par une démarche hiérarchique rigoureuse, puisqu'ils ne disposent, ni d'une définition des ensembles, ni de critères de subdivision précis. Il semble cependant que de tels moyens sont nécessaires pour effectuer plus tard les modifications demandées dans les conditions les meilleures. L'approche que préconise J.D WARNIER consiste à organiser les données, et plus particulièrement les données d'un programme en ensembles mathématiques hiérarchisés.
Il est bien évident, que l'enseignement de tels concepts suppose que l'informatique soit considérée comme une science et non comme un art, et seulement à cette condition, la formation pourra être diffusée et reçue par le plus grand nombre.
Vous pourriez me dire, tout çà c'est démodé ! aujourd'hui on parle d'AGL, de PROGICIELS, de programmes orientés OBJET, de WEB, et j'en passe sûrement ....mais ne faut-il pas toujours écrire des lignes d'instructions aussi puissantes soient-elles ?
Alors si la curiosité vous anime, suivez-moi...