Sunday, February 14, 2010

Object Blues

One of the key differentiators between Mac OSX and Windows, according to quotes attributed to Steve Jobs, is that Mac OSX is Object Orientated. He places this fact at the heart of a key productivity advantage allowing Apple to turn a major release every 18 month or so. Redmond seems to take a lot longer than that for Windows. It's also enabled them to turn out the respective iPhone and iPad OS's relatively quickly.

That's fine as far as it goes but I personally have always had a bit of an issue with OOP (Object Orientated Programming) in the real world in the fact that it isn't exactly consistent with the RDBMS view of the world.

- OOP is Function Centric whereas Relational is Data Centric

IMHO OOP works well when you're writing things that are function centric (like operating systems, flashy web sites, computer games, graphics packages) but is less successful when writing large data handling systems (like data warehouses etl's, high volume transaction systems).

When we have to merge the object and relational world together we have three options. The first is to use an Object Relational Bridge technology or secondly we store Object datatypes inside an RDBMS. Both of the represent the RDBMS is an OO friendly format.

Then of course there's the third way which is to use a OOP language (like Java) and write code that doesn't conform to OOP basics negating all the benefits of Object Orientation. Guess which option I've mainly seen in my travels.

No comments:

Post a Comment