From our sister publication D3:

This article is an open challenge to the many practitioners of object orientation out there to prove systematically with appropriate data that object orientation delivers any of the benefits which have been promised for so long. Let me present my ca se first. Object orientation is intended to mirror the way we think and is therefore considered to be self-evidently better than whatever it is we were doing before. In other words, it is once again a triumph of intuition as an alternative to the sc ientific method. It has generated an entire dictionary of poorly understood new concepts such as polymorphism, inheritance, encapsulation and so on. Enough money has been sacrificed on the altar of this particular belief and it is time that we saw s ome tangible proof or disproof. Here is some disproof. My own company happened to have two significant but comparable projects, both more than 50,000 lines of code, one written conventionally in C and one written using object orientation design and implementation methods in C++. Both projects were produced by experienced people. We have a complete change and fault history so I decided to analyze these records to measure the corrective maintenance benefits of using C++ instead of C. These benef its are supposed to include more reliable systems and ease of change. After going through over 3,000 change records, I extracted the 12% relevant to corrective change to be confronted with the fact that the C++ system has a defect density some 25% m ore than the C system and that each defect took on average twice as long to correct. Even the simpler ones took longer, so the whole distribution is right-shifted. In other words, using C++ instead of C has increased our corrective maintenance overh ead by nearly 300%. (Note that on average 50% of all maintenance is corrective). Shortly after-wards, I read Watts Humphrey’s admirable Personal Software Process book to find that he included data showing that C++ led to significantly higher correct ion costs than equivalent Pascal projects. Finally, I have just received further evidence from Professor Walter Tichy at the University of Karlsruhe, an authority on software measurement, which showed exactly the same effect. When I show this data to object orientation people, they usually say, that’s because you aren’t doing object orientation right, to which I answer, show me your data then, to which they answer we don’t have any. My current view is that the data suggests object orient ation does not deliver any of its advertised promise and is simply a different rather than better way of doing things. Now I have only seen C++ data and I know that many object orientation people are devotees of other languages, however there appear s to be no data at all for these. So here is my challenge to object orientation developers. Please start acquiring data because so far, things do not look promising for this paradigm, however much fun you’re having. – Les Hatton, Programming Researc h Ltd, UK.