Someone shared Charles Scalfani’s article about why they were abandoning Object Oriented Programming and moving to Functional Programming. The points Charles makes are:
- Inheritance and hierarchies tend to be fragile and difficult to work with;
- Making variables private in an object doesn’t help that much; and
- Polymorphism isn’t exclusive to OOP;
These experiences probably resonate with many people who’ve worked with OOP codebases. In any language. So I’m not going to say that Charles is wrong, but I’d like to offer a different perspective of the ideas in OOP here. And maybe that’ll help someone learn something new in the process, who knows?