La programmation procédurale (C, Pascal, Basic,
…) est constituée d’une suite d’instructions
(souvent réunies en fonctions) exécutées
par une machine. Ces instructions ont pour but d’agir
sur des données pour produire une effet quelconque.

Les fonctions, procédures et autres suites d’instructions
accèdent à une zone où sont stockées
les données. Il y a donc une dissociation entre les
données et les fonctions ce qui pose des difficultés
lorsque l’on désire changer les structures
de données.
Dans les langages procéduraux, les procédures
s’appellent entre elles et peuvent donc agir sur les
même données provoquant ainsi des effets de
bord. De ces problèmes sont issus une autre manière
de programmer : la programmation par objet.