Accédez en illimité à
tous nos livres & vidéos, sur l'IA, le dev, les réseaux... Cliquez ici
Bibliothèque Numérique ENI :
tous nos livres & vidéos, en accès illimité 24h/24. Cliquez ici
  1. Livres & vidéos
  2. Apprendre la Programmation Orientée Objet avec le langage Python
  3. L'émergence de la POO
Extrait - Apprendre la Programmation Orientée Objet avec le langage Python (avec exercices pratiques et corrigés) (3e édition)
Extraits du livre
Apprendre la Programmation Orientée Objet avec le langage Python (avec exercices pratiques et corrigés) (3e édition) Revenir à la page d'achat du livre

L'émergence de la POO

Ancêtres de la POO

La programmation est le procédé par lequel un humain transforme un besoin quelconque (calculs mathématiques, utilisation d’un instrument de musique, tissage, etc.) en une séquence d’instructions exécutées par un automate. Bien avant les ordinateurs, des inventeurs ont trouvé le moyen de faire exécuter par des machines certaines tâches répétitives (opérations mathématiques simples, activer un soufflet d’orgue, etc.).

Au début du XIXe siècle, Joseph Jacquard crée un métier à tisser programmable grâce à des cartes perforées, permettant de tisser des motifs complexes avec moins de main-d’œuvre. Cette invention est considérée comme le premier automate programmable, l’ancêtre de l’ordinateur.

À partir de 1812, un mathématicien britannique du nom de Charles Babbage décide de concevoir une machine permettant de calculer avec précision des tables mathématiques. Avant l’avènement des calculatrices, les résultats des opérations trigonométriques ou logarithmiques étaient listés dans des tables, dont se servaient les astronomes et les cartographes. L’erreur étant humaine, ces tables étaient souvent truffées d’erreurs, ce qui engendrait bon nombre d’accidents de navigation. Charles Babbage, inspiré par Blaise Pascal et sa machine arithmétique Pascaline, entreprend de concevoir une machine calculant ces opérations rapidement et avec une plus grande précision.

En 1842, la mathématicienne Ada Lovelace traduit en anglais un mémoire de Charles Babbage sur cette fameuse machine analytique fonctionnant à l’aide des cartes perforées de Jacquard. Sa traduction est parsemée de notes qu’elle a écrites décrivant un algorithme permettant de calculer les nombres de Bernouilli (une suite de nombres rationnels). Cet algorithme est considéré comme le tout premier programme suffisamment abstrait pour être implémenté...

Besoin d’un langage de plus haut niveau

Devant l’amélioration exponentielle des capacités mémoire et des vitesses de calcul, l’informatique a commencé à percer dans les domaines industriels. Les langages de programmation ont dû être adaptés pour être utilisables hors des milieux universitaire et militaire, et pour répondre aux différentes problématiques des entreprises (banques, assurances, gestion de stocks, fiches de paie, etc.). Afin de diffuser la programmation informatique dans le monde, il a fallu s’abstraire davantage de la machine pour tendre vers l’humain, c’est-à-dire inventer des langages de haut niveau.

Plus un langage est proche du langage binaire de la machine, plus il est de bas niveau. Au contraire, plus un langage s’abstrait de la machine et se rapproche d’un mode de pensée humain, plus il est qualifié de haut niveau.

Dès lors qu’on s’éloigne du binaire, les possibilités d’expression se multiplient, de même que les styles de programmation, ainsi que les langages qui les implémentent. Avec la démocratisation de l’outil informatique, les besoins se font de plus en plus variés et complexes. Les programmes nécessitent désormais des outils de plus en plus pratiques et élaborés pour y répondre rapidement et efficacement.

Pour répondre à ce besoin, divers paradigmes de programmation ont alors vu le jour, dont le paradigme impératif. Comme le nom l’indique, les programmes qu’il décrit sont une suite d’ordres à exécuter par l’ordinateur avec l’objectif de changer des valeurs dans des zones mémoire. La programmation orientée objet est venue enrichir ce paradigme impératif afin de faciliter la transposition des problèmes industriels concrets en algorithmes exécutables par ordinateur.

Si aujourd’hui de nouveaux paradigmes de programmation voient le jour, notamment en réponse à la croissance extrême du Web, l’orienté objet, malgré son âge, reste encore un incontournable de la programmation informatique.

Le premier langage considéré comme orienté objet est Simula, créé dans...