3 ms·
> my view on OOP (let OOP denote class based OOP as found in Java or C++) Maybe you should take a look at a real OOP language like Smalltalk before you tell us
by arendtio 8y ago
> my view on OOP (let OOP denote class based OOP as found in Java or C++)
Maybe you should take a look at a real OOP language like Smalltalk before you tell us why OOP is a bad idea. Otherwise, I might tell you why consumers will never adopt cars as I drove a Trabant once.
- ilovecaching 8y agoSmalltalk OOP looks almost exactly like Erlang gen_servers and shares a lot of nice properties with them. Unfortunately the concept has been twisted into it's current day meaning that's akin to the OOP we find in Java, C++ etc.
- deleted 8y ago[deleted]
- crackerbarrmnd 8y agoSmalltalk is not an especially impressive language in 2018 and inspection and reflection aren't isolated to OOP today either.
- mercer 8y agoDid you read the stuff between the parentheses?
- arendtio 8y agoIn fact, I did. But I think it is wrong to judge OOP based on crude implementations. That is the reason why I added the Trabant example: > The Trabant was loud, slow, poorly designed, badly built, inhospitable to drive, uncomfortable, confusing and inconvenient. (source: https://en.wikipedia.org/wiki/Trabant https://en.wikipedia.org/wiki/Trabant) Java and C++ are both great tools for specific jobs, but from an OOP perspective, they are badly designed. So if you want to discuss OOP as a design choice, it would be unreasonable to discuss it based on those poor implementations. Smalltalk, on the other hand, has its own set of problems, but a poor OOP implementation is not part of it.
- mercer 8y agoAh, I see what you mean. I do think it's valuable/reasonable to discuss OOP as it is 'in the wild', but I can also see how it's a bit of a dead horse to beat, and discussing what could be (or didn't become the mainstream) is at least more interesting.