Monday, October 31, 2011

Some additional perspectives on OOP

I did some research this weekend about OOP. I more or less took it for granted that OOP is what it is and didn't think much about it until just recently. Nothing new, but some links that I found interesting. I plan to add more when (if) I find them.

Paul Graham (the world's only celebrity Lisper)
Why Arc Isn't Especially Object-Oriented
The Hundred-Year Language

Joe Armstrong (creator of Erlang)
Ralph Johnson, Joe Armstrong on the State of OOP
Why OO Sucks

Jeff Atwood
Your Code: OOP or POO?

Karsten Wagner
OOP is Dead

Alan Kay (who coined the term)
Dr. Alan Kay  on the Meaning of “Object-Oriented Programming”
prototypes vs classes was: Re: Sun's HotSpot

Generic programming vs object oriented programming
Type erasure
Object Orientation is a Hoax

Richard Gabriel and Guy Steele
Objects have failed
Objects have not failed

Other
Problems With Existing Oop Evidence
OOP Criticism
SICP (the course, not the book)
OOP in Scheme
OOP vs type classes
Haskell vs OOP
A fresh look at OOP with concurrent objects
Teaching FP to Freshmen (The comments are informative, as it's clear the OOP supporters are not willing to defend Java/C++-style OOP. Yet for all practical purposes Java/C++-style OOP is OOP.)
Bjarne Stroustrup keynote at GoingNative 2012 I can't find the quote right now, but Stroustrup makes it clear that C++ is much more than an OOP language. He says something along the lines of, "inheritance can sometimes be useful".
Stop Writing Classes
HN Discussion of Stop Writing Classes

Of course, there are alternatives to what is usually called OOP. As I've learned, it's tough to even get a definition of OOP.
Rifle-Oriented Programming with Clojure

I'm not anti-OOP. I just think there are better ways to do what is done in C++ or Java.

2 comments:

  1. FYI as for Joe Armstrong's opinion on OOP, check out this interview with him & Ralph Johnson (one of the GoF):
    http://www.infoq.com/interviews/johnson-armstrong-oop

    (You don't have to watch it, there's a transcript below the video).

    ReplyDelete
  2. Thanks! That's a really interesting link. I've added it to the post. I'm realizing just how little I understand about OOP. I wonder whether how much research the average Java/C++ developer has done.

    ReplyDelete