Object Oriented programming considered harmful
"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
OO is the "structured programming" snake oil of the 90' Useful at times, but hardly the "end all" programing paradigm some like to make out of it.
And, at least in it's most popular forms, it's can be extremely harmful and dramatically increase complexity.
Inheritance is more trouble than it's worth. Under the doubtful disguise of the holy "code reuse" an insane amount of gratuitous complexity is added to our environment, which makes necessary industrial quantities of syntactical sugar to make the ensuing mess minimally manageable.
- Bad Engineering Properties of Object-Oriented Languages by Luca Cardelli
- Why OO Sucks by Joe Armstrong
See Also
- Object-Oriented Considered Harmful by Frans Faase.
- Object Oriented Programming Oversold!
- I Hate Patterns.
- Why arc Isn't Particularly Object-Oriented.
- The questions about inheritance in the Java IAQ.