Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> 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.


Yes smalltalk and whatnot are supposed to be "real OOP". But today, OOP is just Java's model for most people.

Erlang probably got the message passing thing right, but it just doesn't make sense to declare it OOP, today.

That is my opinion, that it makes sense to talk about OOP in those terms.


An opinion at odds with actual definitions. Especially when it comes to “pure” OOP which has a pretty specific definition.


When the question is "what has really worked" in the last decades, academical definitions are not important.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: