Live data from Hacker News

Object Oriented Programming is an expensive disaster which must end

smashcompany.com

51–60 of 123 posts

Re: Object Oriented Programming is an expensive disaster which must end

#51
Object Oriented Programming is not for all developers the same way that some excellent developers have problems with functional programming. I think OO is very well suite for bottom up way of thinking (http://en.wikipedia.org/wiki/Top-down_and_bottom-up_design).

Re: Object Oriented Programming is an expensive disaster which must end

#52
post #34

Earlier quoted context omitted.

More of this. This endless debate about what is better - functional or OO is leading nowhere. The OO side is winning, since the majority of the industry is using it. The way to tear down the OO "hype", is by replacing things used in the industry with better alternatives written in a functional language. Git (C) has eaten up both Darcs (Haskell) and Mercurial (Python), even though Python and Haskell are "clearly" supe…

Git's success has probably little to do with its implementation language.

Exactly! Welcome to professional software development.

Re: Object Oriented Programming is an expensive disaster which must end

#53

My goodness this guy takes a long time to get to any point! Right now I've gotten to the point where he writes "We should note the irony that they are using Linux to explain OOP concepts, even though Linux is written in C, which is not an OOP language." And yet... it implements OO concepts throughout the kernel. He then quotes Torvalds' comment about C++, yet does not mention that OO concepts are used. This guy refer…

A wall of text indeed: at 30,000 words (including quotes), it's about the same length of a 100-page novella. You and the other commenters were not exaggerating.

Interestingly enough, 30,000 words is also a common 'crisis point' among aspiring writers[1]. Maybe that's what forced the article short.

[1] http://emmadarwin.typepad.com/thisitchofwriting/2011/07/the-...

Re: Object Oriented Programming is an expensive disaster which must end

#56
post #36

Earlier quoted context omitted.

One of the major points of the article is the "no True OO Programmer" fallacy: this is my experience whenever I argue against Object Oriented Programming (OOP): no matter what evidence I bring up for consideration, it is dismissed as irrelevant. If I complain that Java is verbose, I’m told that True OOP Programmers let the IDE take care of some of the boilerplate, or perhaps I am told that Scala is better. If I compl…

I think there is a similar flaw in your argument as follows. You: OO is flawed because of x Me: But OO language a doesn't have a problem with x You: Ah but language a has problems with y Me: Yes but language b doesn't etc... You conclude OO is inherently flawed I conclude that there are now languages without flaws...

Exactly. If you look for a language without flaws, you may as well give up programming.

On the other hand, if you say "I'm trying to do X - what's a good language to use?" then we can have a conversation. Some of the flaws are irrelevant in some projects, but roadblocks in others.

Debating the pros and cons of languages without the context of a project is like discussing the best form of transport without having any idea of the journey.

Re: Object Oriented Programming is an expensive disaster which must end

#57
post #48
post #31

Mediocre and bad code tends to multiply entities. On a small scale it's usually redundant global and local variables, or just plain stupid code like this: if (NULL == lpDataPointer) { /* Return FALSE */ return FALSE; } else { /* Return TRUE */ return TRUE; } Now give the same programmer an OOP language and see what happens. Even a bigger disaster masqueraded as an OOP system. I know I kind of repeat the author's True…

Whats wrong about the above code? Does it not do what it means to do? Is your personal feeling for how this construct should be written syntactically any measure of intelligence?

It can be written:

    return (NULL != lpDataPointer)

Re: Object Oriented Programming is an expensive disaster which must end

#58
post #57
post #48

Earlier quoted context omitted.

Whats wrong about the above code? Does it not do what it means to do? Is your personal feeling for how this construct should be written syntactically any measure of intelligence?

It can be written: return (NULL != lpDataPointer)

I know, it can also be written in many other ways. What decides which one is more correct if they are all semantically equivalent? Is it less characters? Is it using exactly as many 'e's as 'a's? Is it the unnecessary braces?

Re: Object Oriented Programming is an expensive disaster which must end

#59
As someone who is more familiar with OOP, I would love to see examples/hear more alternative approaches to organising code.

Let's say that you want to design a CRUD app, but you're not going to use OOP. What are some of the ways you could choose to structure your code? Would you still use a pattern like MVC?

Re: Object Oriented Programming is an expensive disaster which must end

#60

Earlier quoted context omitted.

One of the major points of the article is the "no True OO Programmer" fallacy: this is my experience whenever I argue against Object Oriented Programming (OOP): no matter what evidence I bring up for consideration, it is dismissed as irrelevant. If I complain that Java is verbose, I’m told that True OOP Programmers let the IDE take care of some of the boilerplate, or perhaps I am told that Scala is better. If I compl…

The same goes the opposite direction, though. While I'm sure your actual arguments are more cogent, simply complaining about something specific isn't an argument against OOP in general. And I doubt that anybody claims Java isn't verbose, or that the IDE "handles" it--regardless of who's doing the typing, Java is verbose. The only people that hold up Java as a good example of OOP are people that don't really know any…

He does argue that OOP introduces complexity without any unique strengths.
Post reply on HN