A Slightly Skeptical View on Object-Oriented Programming (2001)
softpanorama.org
softpanorama.org
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.
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).
OOP predates UML by something like 30 years. UML may be an attempt to wrap a structured theory around the practice of OOP, but OOP is clearly not an attempt of abstract harmonization between theory as represented by UML and practice.
Sounds more like a case of waterfall of personal opinion.
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.
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.
I was wondering about that too... plus a few grammar errors (then -> than)