4 ms·
A Slightly Skeptical View on Object-Oriented Programming (2001)
- serve_yay 12y agoEverything you don't like is cargo-cult.
- iolothebard 12y agoExplains my ex-wife perfectly!
- jokoon 12y agoI 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 12y agoI'd argue that unix is more of a dataflow model
- angersock 12y agoCorrect. For a more OOP model, I'd look at microservice architectures or something like the Erlang VM.
- dragonwriter 12y ago> 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.
- gingerlime 12y agoI 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 12y agoI 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 12y ago> 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)
- sebastianconcpt 12y agoThat's "slightly skeptical"? Sounds more like a case of waterfall of personal opinion.
- putzdown 12y agoLive and let live, people. [Programmers are trees.](http://www.jeffwofford.com/?p=915 http://www.jeffwofford.com/?p=915)
- olavk 12y agoI 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.
- pekk 12y agoThere'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.
- mikerichards 12y agoHah, 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.
- leovonl 12y agoI 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.