> OOP is just a tool in the programming toolbox and can be used and misused, > like any other tool.
That's true but if we had computer _science_ , here is my bet what it would show: OOP produces more error-prone and hard-to-debug systems much more often than the "competing" paradigms do. "Competing" here means old-school imperative procedural programming, functional programming and maybe generic programming (to the extend that "generic programming" competes with OO).