Skip to the content.

🌇 Architecture & Paradigmes

👀 Voir ma vidĂ©o Object Oriented - DĂ©finition ? Ma vision ?

Programmation Orienté Objet

En ce qui me concerne, j’étudie sĂ©rieusement les racines et la sĂ©mantique des langages OO depuis deux ans et j’ai le sentiment d’ĂȘtre un alien đŸ‘œ quand j’entends les autres parler du sujet.

Pour commencer, il n’existe aucun consensus sur une dĂ©finition exacte de l’OO (donc prenez avec des pincettes ceux qui vendent des dĂ©finitions exactes 😞). Il est donc trĂšs risquĂ© de prendre position car cela vous demandera d’avoir une comprĂ©hension et des arguments que 99,9% des dĂ©veloppeurs n’ont pas (moi y compris pour le moment).

Ci-dessous deux liens qu’il est plutĂŽt important de lire pour commencer Ă  se faire une bonne idĂ©e des principes fondamentaux de l’OO :

Il existe bien d’autres dĂ©finitions et spĂ©culations que vous pouvez retrouver ici. J’ai pour ma part aussi lu une bonne partie de Theory of objects ce qui m’a permis d’ouvrir les yeux sur pas mal de notions Ă  un niveau sĂ©mantique.

En second, je vous recommande vraiment de creuser la notion de Data abstraction. C’est tellement la fondation de ce qui constitue les langages de programmation que je ne comprends mĂȘme pas comment la majoritĂ© des dĂ©veloppeurs passent Ă  cĂŽtĂ© .

Quelques ressources Ă  lire / Ă©couter :

Je vous recommande aussi Programming Paradigms for Dummies qui permet de faire un pont avec d’autres notions (et pas uniquement l’OO car c’est important de s’ouvrir aussi au reste).

Ressources complémentaires

Bref si vous avez commencĂ© Ă  lire c’est que vous avez compris que je ne suis pas adepte des explications bateau en mode “C’est un chat qui Ă©tend d’un animal pour faire miaou” 😏.

Je n’ai jamais Ă©tĂ© un grand fan de ces articles haut niveau car j’ai toujours eu le sentiment qu’il manquait une rĂ©flexion fondamentale dans le processus. Abstraire les Ă©lĂ©ments techniques pour mieux les communiquer est une chose importante mais je pense qu’il ne faut pas non plus trop s’éloigner d’une rĂ©alitĂ© plus scientifique.

Si vous souhaitez continuer Ă  rĂ©ellement creuser la programmation orientĂ©e objet voici diverses rĂ©fĂ©rences que j’ai moi-mĂȘme lues (attention elles sont souvent difficile d’accĂšs) :

👀 Les rĂ©fĂ©rences ci-dessus peuvent aussi vous permettre de mieux comprendre certaines racines de Javascript. J'Ă©tais personnellement vraiment choquĂ© de dĂ©couvrir que beaucoup de ce qu'on critique comme Ă©tant des fonctionnalitĂ©s qui ont Ă©tĂ© faites au hasard en 10 jours sont finalement des notions sĂ©mantiques rĂ©flĂ©chies depuis des dizaines d'annĂ©es.

À partir de tout cela vous aurez moyen de retrouver plusieurs centaines de rĂ©fĂ©rences. J’ai lu d’autres ouvrages mais je ne pense pas qu’ils aient une place ici (nĂ©anmoins je reste ouvert Ă  la discussion si vous souhaitez vous-mĂȘme approfondir cela avec mes recommandations).


âŹ…ïž 🌇 Architecture & Paradigmes: Clean code | âžĄïž 🌇 Architecture & Paradigmes: Design patterns