The Moths of Programming 7 - Object Orientated Programming
July 31, 2022
In this double length episode, Dino objectively explores Object Orientated Programming, which he views as one of the biggest, if not the biggest, mistakes of software engineering.Support the show
OOP considered harmful?
- https://tinyurl.com/yc4pP968 (SIGNAL)
- https://www.dinodini.com (WEB)
- https://twitter.com/dndn1011 (DEACTIVATED, please use SIGNAL)
A long time ago there was Alan Kay with shiny objects
Modelling systems with objects and the loss of verbs
Late binding of all things
What is Object Orientated Programming supposed to be? What are its pillars?
Inheritance - The language feature that we are advised to avoid
Encapsulation - Something you could always do before OOP came along
Abstraction - OOP tries to take ownership of a fundamental pillar of all software engineering
Recap of first three pillars
Polymorphism - Something that existed before OOP came along
C++ style encapsulation conflicts with the goals of abstraction, by exposing implementation details
Inheritance is the earliest form of binding you can have and breaks abstraction
Academia and meme practice instead of best practice
Coming to the realisation of the absurdity of OOP and alternative approaches to software development
The decline of software engineering and what can be done?
Guiding principles for personal improvement in as a software engineer
Recent example of how there can be better solutions when we let go of habits and rules