Skip to content

Latest commit

 

History

History
56 lines (36 loc) · 5.24 KB

File metadata and controls

56 lines (36 loc) · 5.24 KB

🌇 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