Comment Re:quicksort better than OOP? (Score 1) 598
And not at all like OOP as it is generally understood by Java, C#, and C++ programmers. Again, no one can even agree on what constitutes OOP. It's an incoherent concept at best. Dig up a few definitions. You'll find most are vague, many are inconsistent, and a few so broad that they're meaningless.
Really, OOP is having the data combined with the functions that operate on the data. Everything else involved in OOP derives from that.
"OOP is an exceptionally bad idea which could only have originated in California" — Edsger Dijkstra
Bertrand Meyer digs deeply into the Liskov style of OOP in his book Object Oriented Software Construction, and concludes that invariants and proofs are one of the most important concepts that can be learned from the Object Oriented Method. So much so that he created a language based around that idea (Eiffel, where each method and class can have a formal contract). The end result looks a lot like what Dijkstra himself wrote about in A Method of Programming.
In other words, digging deeply into OOP, which Dijkstra despised, leads directly to programming by proof, which Dijkstra loved (maybe too much).