Object Oriented Cultural Assumption

Well, let's start with the obvious:

Please add or comment on the above list.

I hope nobody minds that I toned down some comments, trying to preserve the flavor without provoking people. Can we get definitions that both OO detractors and OO supporters agree on?

What is the alternative? When i interview non-OO people and i ask them how do you develop software, they really have no idea. Maybe OO isn't the saviour of the world, but it at least gives you a vocabulary. -- AnonymousDonor

http://geocities.com/tablizer/bizmod.htm - and the author would be happy to answer specifics. See also ProceduralMethodologies.

At a high level, object-oriented programming is one of many interesting ways of designing programs. Here are some ways that work especially well for certain problems, though some (including OO) are much more broadly applicable than these examples:

At a lower level, you can implement all of these designs in most languages. Because tastes differ so much, it would be asking for trouble to suggest which is best for what. Instead, let's just acknowledge some fundamental options, each of which some people really love, each of which has many subcategories: We all have our own favorites, and most of us won't have time or occasion to learn all the others, but it doesn't hurt to acknowledge each of them. Smart people are writing good programs in each of these ways, and no doubt countless others, every day.

Note that I did NOT create this topic. --top

“Object-oriented programming is an exceptionally bad idea which could only have originated in California.” — Edsger Dijkstra

“object-oriented design is the roman numerals of computing.” — Rob Pike

“The phrase "object-oriented” means a lot of things. Half are obvious, and the other half are mistakes.“ — Paul Graham

“Implementation inheritance causes the same intertwining and brittleness that have been observed when goto statements are overused. As a result, OO systems often suffer from complexity and lack of reuse.” — John Ousterhout Scripting, IEEE Computer, March 1998

“90% of the shit that is popular right now wants to rub its object-oriented nutsack all over my code” — kfx

“Sometimes, the elegant implementation is just a function. Not a method. Not a class. Not a framework. Just a function.” — John Carmack

“The problem with object-oriented languages is they’ve got all this implicit environment that they carry around with them. You wanted a banana but what you got was a gorilla holding the banana and the entire jungle.” — Joe Armstrong

“I used to be enamored of object-oriented programming. I’m now finding myself leaning toward believing that it is a plot designed to destroy joy.” — Eric Allman

quotes stolen from http://harmful.cat-v.org/software/OO_programming/

What's wrong about having to find the right abstraction? And how is that specific to OO?

View edit of April 16, 2014 or FindPage with title or text search