OO is treated almost like a religion by some people. It's useful to be able to create instances of some things but the place OO fails is the "oriented" part. Code is much easier to maintain and understand written in a functional state.
If something doesn't need to be an instance, it probably shouldn't be one.
This article articulates a lot of problems I've noticed in OO code, I think it would be foolish to ignore it. My life as a developer became 10 times easier once I realised some of these same pain points and pivoted, or maybe even more so.
In school I was taught all about OO coding practice and I think he's right, they were wrong.
> Code is much easier to maintain and understand written in a functional state.
Why is it then that programs written in OO outnumber FP software by 100000:1 or more.
For example most of the software written for iOS and macOS are written in C++, Objective C or Swift. All three are class-based object-oriented languages.
What you say may not be true or may not be very important.
Why is there so much COBOL or Visual Basic still around? Or tons of PHP and Javascript on the server? Just because there is lot of programs written in $x doesn't mean $x is better, more maintanable, more efficient, easier to understand. It could be, but it doesn't have to be.
That argument assumes the average developer, average university, average company can look around and is able to effectively pick, understand (this implies ability to learn) and evaluate merits of a framework or language. Most don't even have a choice. They are taught, or maint the code base or listen to what is told by management and that's their choice. Managers hire to the code base that's already there and to languages / frameworks they know. Developers who just want a job (nothing wrong with that) will pick and learn languages that managers hire for.
If something doesn't need to be an instance, it probably shouldn't be one.
This article articulates a lot of problems I've noticed in OO code, I think it would be foolish to ignore it. My life as a developer became 10 times easier once I realised some of these same pain points and pivoted, or maybe even more so.
In school I was taught all about OO coding practice and I think he's right, they were wrong.