Was object-oriented programming a failure? (2015)
Why are there still those who think any advocate of OOP  is an advocate of &quot;OOP or Nothing! All things are Objects! All things are an instantiation of a class! All things must derive from a root class! etc.&quot;?<p>OOP is a tool. And generally a useful one. Every new programming paradigm at its inception was going to Save The World and make programming A Better Place. Turns out, every one if these paradigms is a tool with uses at various times.<p>So OOP might only be useful in a limited number of cases. I find it comfortable for categorizing functions: &quot;Here&#x27;s all the stuff you can do with a String&quot; or &quot;All windows behave like this...&quot; And if your language is dynamic enough, you can add functionality to all Strings, not just your String subclass.<p>I don&#x27;t typically find OOP useful for processing many records of data. Perhaps I might compose an object from a record of data so that a user might edit their profile in a GUI, but batch processing doesn&#x27;t usually lend itself to OOP. But that&#x27;s my experience and opinion; I bet someone has a good use case for using OOP while dealing with copious amounts of data.<p>Back to the topic at hand: Was OOP a failure? No more than lathes are failures. Not every handyman needs a lathe; not every programmer needs OOP. But when you do need it, it&#x27;s a useful tool.