Les premiers langages de programmation appartiennent sans nul doute à la famille de l'analyse par décomposition fonctionnelle. L'assembleur ou langage machine est simplement composé d'une série d'instructions élémentaires que l'on accompli les unes à la suite des autres. Ces instructions correspondent précisément aux tâches accomplies par le processeur : additionner deux registres, stocker une valeur dans un registre etc.. Mais ces programmes constitués d'une longue suite d'instructions élémentaires sont très longs et difficiles à écrire ... et encore plus à corriger. La méthode de conception du programme est celle par découpage d'un problème en une suite de séquences élémentaires se succédant dans le temps.
L'organisation des instructions de l'assembleur 'par paquets' et la possibilité de programmer à partir d'un langage composé de tels paquets sera mise en oeuvre vers 1954 avec le langage FORTRAN. Ce choix permet de substituer au temps et à l'effort du programmeur un traitement informatique plus long. Quant à la possibilité de pratiquer la décomposition des procédures en sous-procédures elle n'apparaîtra qu'en 1960 avec le langage LISP. LISP permet en effet d'écrire séparément les sous-fonctions. Il devient alors possible de 'penser' un programme avec les outils de l'analyse fonctionnelle.
Remarquons toutefois que l'existence d'un langage adapté n'est pas indispensable pour utiliser un paradigme de représentation. On peut utiliser la décomposition fonctionnelle lors de l'analyse d'un problème et même la mettre en oeuvre en assembleur. Il n'y a donc pas une relation univoque entre langage de programmation et paradigme de représentation. Cependant la facilité avec laquelle on peut passer de l'analyse à la programmation a une influence décisive sur l'utilisation de tel ou tel modèle. De même que de nos jours une méthode de génie logiciel n'est pas considérée comme crédible tant qu'il n'existe pas d'outils de génie logiciel pour la mettre en oeuvre, l'utilisation courante d'un schéma de représentation est subordonnée à l'existence d'un langage permettant de coder aisément ce schéma.
L'analyse en structures de données prend son essor vers les années 70 avec la mise au point du PROLOG. On parle alors de "pensée logique" (X est en relation avec Y) par opposition à la "pensée impérative" (faire X si Y) des langages précédents.
La naissance d'un nouveau paradigme, dit 'orienté objet' a pour origine la résolution de problèmes de simulation. En effet, la simulation procède d'une approche radicalement nouvelle : Il s'agit, non d'analyser les fonctions du système ou d'étudier les relations entre ses éléments, mais de se mettre à leur place en reproduisant leur réaction à certains événements. D'ou l'émergence du concept d'objet comme entité agissante et indépendante. Les premières tentatives de traduire cette formalisation d'un problème se font à travers le langage SIMULA en 1967. La première version du langage objet le plus célèbre, SMALLTALK, verra le jour en 1972. Smalltalk est le premier à introduire les notions fondamentales de classe, de message et d'héritage.
Dans un langage objet, la simulation d'un embouteillage se construit à partir d'objets comme "voiture", "route" et "feu rouge". Dont on suivra le comportement dans différents cas de figure (larguer de la route, vitesse et nombre des voitures, délai de passage des feux rouges etc..).
Un nouveau paradigme est né. La formalisation des concepts que sont la réification, l'héritage, et l'encapsulation ne sera pleinement achevée que quinze ans plus tard.