
A Slightly Skeptical View on Object-Oriented Programming (2001) - xvirk
http://www.softpanorama.org/SE/anti_oo.shtml
======
pekk
There's a lot of ranting here and it's hard to work through.

Since I predict almost everyone is going to come down on the pro-OOP side or
change the subject to FP in order to show their professional credentials (and
because they don't know any better), I'd like to note that some of this
complaint about OOP marketing, though it sounds cranky, is strictly justified
by the extreme amount of OOP hype that surrounded Java and before it,
Smalltalk. And it is not just cranks who observed this (for example, there is
the famous quote by Dijkstra).

However awesome Smalltalk was, many of the ideas now identified as "OOP" (like
modularity and reusability) preceded Smalltalk by some time, and did not
spring fully formed from Alan Kay's thigh. But all these individual things had
to be presented as one big revolutionary change because it just isn't good
marketing to talk about lots of incremental evolutions from a baseline set in
the 60s.

Apart from the merits or demerits of OOP itself there's a meta-point here,
which is that we can't get anywhere discussing sweeping methodological topics
like this unless we break down language features or practices and present
solid arguments for them individually. Too often discussion gets reduced to a
slogan like "OOP allows reuse" or "typesafe programs can't go wrong" and then
practice is enforced across entire companies without real reasons - just a lot
of hand-waving, shaming and appeals to experience and authority which
eventually harden into dogma. So in practice, almost nobody understands why we
do things the way we do and dissent is dismissed without consideration. This
is a terrible way to explore and validate ideas.

------
jokoon
I wonder if unix isn't already working with some object oriented paradigm. A
process is some sort of object if you think about it. It has inputs and
outputs. It can be instantiated and stay in memory. It can even send and
receive messages, it you care about reading the doc on how to do it.

Maybe it's more relevant to understand how a system work, instead of trying to
organize abstract high level concepts of how the cod should be written.

Maybe people have been trying to make UML concepts be understood in code, I'm
sure that's the main reason, and OOP seems to be just that, some attept of
abstract harmonization between theory (UML) and practice (OOP code).

~~~
jghn
I'd argue that unix is more of a dataflow model

~~~
angersock
Correct. For a more OOP model, I'd look at microservice architectures or
something like the Erlang VM.

------
sebastianconcpt
That's "slightly skeptical"?

Sounds more like a case of waterfall of personal opinion.

------
leovonl
I generally disconsider OO as a basic programming paradigm, not only because
it is mostly badly designed in most programming languages, but mainly because
modern languages already provide what OO was there to solve in the first place
- in a much better way.

However, this article is mostly flawed - it's just a lot of ranting entangled
with some random facts, curiosities and things that have nothing to do with
any valid reasoning.

Also, most reasoning behind the article falls into some argumentative fallacy,
like ad populum. In summary, it just fails miserably.

------
mikerichards
Hah, yeah this is by a guy that goes by the nick Tablizer. He coined a term
called table-oriented programming.

[http://www.reocities.com/tablizer/top.htm](http://www.reocities.com/tablizer/top.htm)

Back when he posted this, it was almost sacrilege to be questioning OO. He
used to get beat up a lot on various forums. Now it seems at least the emperor
doesn't seem to be wearing a jacket when it comes to OO.

------
gingerlime
I see some references to years as far as 2014, including a list of books
published from 2000 to 2012... so I'm wondering about the 2001 on the title(?)

~~~
AnimalMuppet
I think this is like a wiki; many people can edit it. (This is also why it
reads like a rambling bunch of thoughts jumbled together, rather than like
something coherent.)

~~~
gingerlime
> This is also why it reads like a rambling bunch of thoughts jumbled
> together, rather than like something coherent

I was wondering about that too... plus a few grammar errors (then -> than)

------
serve_yay
Everything you don't like is cargo-cult.

~~~
iolothebard
Explains my ex-wife perfectly!

------
olavk
I wonder about the purpose and intended audience for a writeup like this. It
is probably not intended for OO-practicers, since it starts out by calling
them idiots and fanatics before even touching any technical arguments. Oh and
calling them corrupt charlatans and religious communists.

------
putzdown
Live and let live, people. [Programmers are
trees.]([http://www.jeffwofford.com/?p=915](http://www.jeffwofford.com/?p=915))

