Is object oriented progamming a sham?
So I have been doing quite a bit of research lately on application architecture and keep wondering this. I know that some would consider even mentioning this thought sacreligious. When I look at highly scalable reference architectures none of them are fully object oriented and many of them dont even pretend to be object oriented.Â
If you have taken a look at the dot net petshop you know what I mean.  Ignoring its gross flaws, it’s highly scalable and certainly very high speed. How does it do it? By not using any objects. The application itself is very lightweight and very purpose built. Personally, I think they could have at least used light objects for method calls.Â
I tend to think in terms of objects and design in terms of objects. However, I generally dont architect software with a strong business rule laden object layer. Why? I find the pattern that object a does something to object b which does somethiing to object c confusing at best. When it comes to maintenance, its a nightmare to track down the actual defect and repair it without understanding all the code that will be impacted.Â
I realize that in a perfect world we would run the test harness and any introduced defects would be caught. However, in the real world you generally dont have 100% code coverage with unit tests. If you did you would have never had the defect in the first place. In the world of rapid delivery, short development cycles and long hours some things just get missed.
Lately I have been reading a lot of papers talking about the effciency of object oriented programming and whether or not it really delivers more reliable software. I can find no fact based studies that demonstrate oo methodology living up to it promises. I can point to several fact based studies that show oo methodology creates longer development cycles, and cost more to maintain.Â
Can anyone point me to some fact based studies showing oo methodology living up to its promises?
Â