The Moths of Programming with Dino Dini

The Moths of Programming 7 - Object Orientated Programming

July 31, 2022 Season 1 Episode 7
The Moths of Programming with Dino Dini
The Moths of Programming 7 - Object Orientated Programming
Show Notes Chapter Markers

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.

OOP considered harmful?

Support the show

  • https://tinyurl.com/yc4pP968 (SIGNAL)
  • https://www.dinodini.com (WEB)
  • https://twitter.com/dndn1011 (DEACTIVATED, please use SIGNAL)
  • https://www.youtube.com/dndn1011
Intro
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