> Pure OOP aka Java has been a mistake, even though it's probably the most popular.
I mean, Java is hardly 'pure' OOP and these days contains a lot of functional type features.
I've come to the opinion that sticking to paradigms over practicality is often the problem, and a language that helps you get things done regardless is preferable
Java was hardcore "everything is an object from a class" and basically forced inheritance for most dynamic dispatch for decades. It doesn't matter how much FP candy they slap on top of it now, too late, it will always be stuck in a legacy world of crappy inheritance and everything-nullability.
Rust actually is in the sweet spot between both worlds with the best from each side.
I think whether it matters or not is very much your opinion. And whatever your opinion, Java was never pure OOP, in fact that was an early criticism of the language from OOP purists back in the day.
It’s still used in a lot of places and having these features available makes that a much nicer experience.
Whether I would choose it for a new project… maybe not. But we don’t always get that choice either.
I mean, Java is hardly 'pure' OOP and these days contains a lot of functional type features.
I've come to the opinion that sticking to paradigms over practicality is often the problem, and a language that helps you get things done regardless is preferable