

Things I Hate About Object-Oriented Programming - gnosis
http://blog.jot.fm/2010/08/26/ten-things-i-hate-about-object-oriented-programming

======
bunderbunder
Primitives in Smalltalk are not objects? Then how come I can send messages to
strings? Numbers aren't objects either? Then how come integers have so many
methods, most of which are inherited from an abstract base class called
Number?

For that matter, unless you're working in an edition of Fortran that's older
than you and possibly also your parents, trying to blame the language for
tangled, unreadable code is kind of silly.

I, too, am growing tired of the "I don't know much about it, all I know is I
don't like it!" genre of articles.

------
j_baker
I would probably correct the title to "Things I hate about _enterprise_
Object-Oriented Programming", as that seems to be the gist of this.

------
masklinn
So half of it is not even relevant to OO, a third is an indictment of Java and
Java alone and rest is OO not being to the author's taste.

And that's in a 15 months old post which somebody somehow decided was worth
(re)posting.

What a waste of time.

------
owenjones
Tired of incendiary, link baiting articles like these. They all follow the
same pattern: Why I hate (Ruby, Rails, OOP, Functional Programming,
Programming Quizzes in Interviews, Startups, Enterprises, Google, Apple,
Microsoft, whatever) and then the article never impresses.

I still feel compelled to click due to the headline though, so props for that.

------
moocow01
Wow this guy hates a lot of stuff. I'm almost trying to figure out what is
left for him to like.

------
dinde
A lot of the things he hates about OOP are exactly the things I like about it!

------
pors
Flame bait? If so, very successful :)

------
billpatrianakos
I'm with this guy. I'm not much of an OO fan myself. There's too much
evangelizing in the tch community. People are out defending their languages,
frameworks, styles, and trying to convert others as if it were a religion. It
used to be fun to read about all that but now it's really frustrating as
sometimes you can't even have a decent conversation about such topics without
people getting overly emotional... Like when you talk about religion.

The reason I mention this is because most people I know do nothing but OO
programming and I've seen nothing but people defaulting to either OOP or
functional because that's what "good" programmers are supposed to do. I agree
with a lot of his points especially the part about the code being convoluted.
Sometimes it's harder to figure out what's going on by chasing down classes
and their members than it should be.

I'm not afraid to write procedural code at all. I've had people thumb their
nose at me for writing procedural code claiming it would be more "elegant" or
readable if it was OO. I don't care about elegance and the code is still
readable. Their real problem is this snottiness they've developed after
learning how program in an OO way. If it works and it works well, and it's
maintainable then who gives a damn if it'd OO or procedural or a bunch of
include statements linked to files each with a single function in them or
something. That's not to say I don't write OO code. I do. When it's the right
choice. But when I read an article like this I'm reminded of all the
programmers who default to language x, framework x, style x, and platform x
because "that's what good programmers do" as if bad programmers don't write OO
or functional code. Come on.

~~~
michaelcampbell
> I don't care about elegance and the code is still readable.

Part of code elegance is readability and maintainability. Perhaps this is one
of those soft-definitions that everyone has their own meaning for.

