

I wish there was a police of click-bait titles…

To be honest, while the title is kinda click-bait-y, the article does in fact basically address that question.

When I see a title like this, I can’t help spending minutes internally grumbling about everything that’s wrong with it and the impact on trust and information. So not click-bait but think-bait :smile:

Applying critical thinking to what you read on the internet?! Madness!

That’s certainly a highway toward madness!

as one of the resident Java experts at Google, oh boy do I have Opinions about this

a big one is that I wouldn’t count “class A implements interface B” as inheritance

since there’s no sharing of implementation between supertype and subtype: only sharing of API

I’m a big fan of that kind of sharing. But class-to-class inheritance can die in a fire.

also java introduced lambdas like ten years ago, nowadays the better example for how FP is going mainstream is that java 14 and 15 are introducing records (immutable bags of data), pattern matching, and switch expressions :stuck_out_tongue:

I am …. not a fan of that article

For example, the history is mostly taken from a random talk by an Elm developer

@rogarithm has joined the channel

I’ve always thought the answer to “why is oop used so much, if everyone hates it” was that actually a minority hate oop they are just really loud about it.

yeah but people who don’t hate it (like me) are unlikely to talk about it, so you don’t hear from them

I believe a part of the hate is that people equate OOP = Java = public static void main
thing.

That’s basically what the article gets at - that what OOP was intended to be, and what people hate, are not necessarily the same. The useful aspects of OO somehow ended up getting overshadowed by inheritance hierarchies and the like.
I think the problem is probably that, like many things in programming, some aspects of OOP ended up becoming a religion where you had to zealously obey some holy laws, no matter how much it may or may not make sense in a given context.