Skip to content

Latest commit

 

History

History
54 lines (33 loc) · 4.65 KB

6-object-oriented-programming.md

File metadata and controls

54 lines (33 loc) · 4.65 KB

🌇 Architecture & Paradigms

Object Oriented Programming

As for me, I have been seriously studying the roots and semantics of OO languages ​​for two years and I feel like an alien 👽 when I hear others talk about the subject.

For starters, there's no consensus on an exact definition of OO (so take it with a grain of salt who sells exact definitions 😞). It is therefore very risky to take a stand because it will require you to have an understanding and arguments that 99.9% of developers do not have (including me at the moment).

Below are two links that are rather important to read to start getting a good idea of ​​the fundamental principles of OO:

There are many other definitions and speculations that you can find here. For my part, I also read a good part of Theory of objects which allowed me to open my eyes to a lot of notions at a semantic level.

Second, I really recommend that you dig into the notion of Data abstraction. It's such a foundation of what makes up programming languages ​​that I don't even understand how the majority of developers miss it.

Some resources to read / listen to:

I also recommend Programming Paradigms for Dummies which allows you to build a bridge with other notions (and not only OO because it is important to also open up to the rest).

Complementary Ressources

If you have started reading it means that you have understood that I am not a fan of boat explanations in "It's a cat that extends from an animal to meow" 😏.

I've never been a big fan of these high-level articles because I always felt there was a lack of fundamental thought in the process. Abstracting the technical elements to communicate them better is an important thing, but I don't think we should stray too far from a more scientific reality either.

If you want to continue to really dig into object-oriented programming, here are various references that I have read myself (be careful, they are often difficult to access):

👀 The references above may also help you understand some Javascript roots better. I was personally really shocked to discover that many of what are criticized as features that were randomly done in 10 days are ultimately semantic notions thought over decades ago.

From all this you will be able to find several hundred references. I have read other works but I do not think they have a place here (although I remain open to discussion if you wish to deepen this yourself with my recommendations).


⬅️ 🌇 Architecture & Paradigms: Clean Code | ➡️ 🌇 Architecture & Paradigms: Design Pattern