5 ms·
> Extremist languages like Java force you to think of everything in terms of objects. Erm, Java is by far not the most OO programming language there is. For e
by bhaak 11y ago
> Extremist languages like Java force you to think of everything in terms of objects.
Erm, Java is by far not the most OO programming language there is.
For example, primitive types are not objects (no, auto-boxing doesn't make them objects).
> But is Object Orientation (OO) a good idea?
Probably as good as any other programming paradigma out there.
> Does it have problems?
Sure, like every other language as well.
> Is it the right tool for everything?
No, like every other language isn't as well.
> Let’s explore some of these questions in a slightly tongue in cheek and cathartic rant.
And here I stopped reading. If you need to rant, do it over coffee and don't waste my time when even your introduction is not witty enough to keep my interest.
- pvdebbe 11y agoI think Java can be classified as an "extremist OOP" language because it doesn't really support self-standing functions.
- Loque 11y agoMy sentiments exactly, kinda surprised this title made it so high up! OOP has some fantastic applications and may have been oversold to the author for a project he worked on. OOP(s)!
- sklogic 11y ago> OOP has some fantastic applications Yes, OOP is great for agent-based simulations. Only. This is a fantastic, exciting area, but it is extremely niche and tiny. Anywhere else, OOP is nothing but an obstacle.
- tim333 11y agoIt's kind handy for using other peoples code. Like if you want a couple of Google maps on your page you can create a couple of map objects and set their location, colouring, add and remove markers etc. I'm not sure how you'd do that neatly without objects. Beyond that I'm happy without it.
- sklogic 11y ago> It's kind handy for using other peoples code. The heavily OOP libraries with deep hierarchies are the least pleasant to use. With all those horrible enterprisey FactoryFactoryFactoryFactories, etc. Flat, fluent, ideally DSLish APIs are much easier to use.
- muzmath 11y agoI don't think anyone is saying don't use objects, it's the OOP paradigm that is being critiqued.
- benihana 11y agoSkip the fluffy blog and just watch Zed's talk linked to in the first paragraph. Whether you agree or disagree, he at least lays out some valid points (in his typical "this sucks, fuck you" style). That talk made me think a lot more than this blog post did. https://vimeo.com/43380467 https://vimeo.com/43380467
- hacker_9 11y agoGood talk and I agree with all his points. Perhaps WebAssembly will pave the way.
- JoeAltmaier 11y agoApp guy, clearly. Doesn't need to do anything more than once. Has libraries to do the rest (who wrote those? how were they designed?)
- excepttheweasel 11y agoUntil working at Pivotal I had been working for about 5 years in various non-app industries: transport, signals monitoring, databases etc. Libraries? Not really, we mostly wrote everything ourselves - at one position, even an entire operating system.
- JoeAltmaier 11y agoI stand corrected.
- excepttheweasel 11y ago> For example, primitive types are not objects (no, auto-boxing doesn't make them objects). Does the presence of inline assembler make C++ a machine language? I don't think so. Similarly I don't think the presence of primitives in Java make it less of an OO language. They're a leaky abstraction meant to improve the language's performance, which arguably make the language less ergonomic to use.