Monday, March 05, 2007

Understanding software: object oriented programming begins to fade

There are some noteworthy items I read that are a bit too geeky for Gordon's Notes, but are to much opinion or insight to fit into Gordon's Tech. This is one of them, and I'll explain why I put it here ... (note, the original post has several excellent links worth following)
Coding Horror: Your Code: OOP or POO?

... I'm not a fan of object orientation for the sake of object orientation. Often the proper OO way of doing things ends up being a productivity tax. Sure, objects are the backbone of any modern programming language, but sometimes I can't help feeling that slavish adherence to objects is making my life a lot more difficult. I've always found inheritance hierarchies to be brittle and unstable, and then there's the massive object-relational divide to contend with. OO seems to bring at least as many problems to the table as it solves...
I'm not a developer, but I hang around a bunch of old pros. It's not that OO programming has vanished, it's more that it's become a part of the toolkit rather than the entire solution. Service oriented architectures and model-based programming are somewhat in vogue, but really it feels like there's no current "silver bullet".

Inheritance, in particular, seems to have fallen on hard times. It didn't seem to deliver the reusability and extensability most of us had expected ...

Update: As an added bonus, one of the links was to an article on the problems with object-relational data storage. I ignored the distracting comparisons to Vietnam and read through the text. I can vouch for most of the problems the author discusses, I've seen them in action! The political issues are at least as intractable as the political issues.

No comments: