Wednesday, April 27, 2005

DB Atrophy

Ok, looks like I'm diverting too much from my daily job activities. So, here is something most of my readers will enjoy (yes, I'm talking to you programming fans...)

I feel we, the software development community in general, are suffering from a disease called "database atrophy" and most of us don't know it.

We are so dependent on the services our relational database servers (RDBMS) provide, that many of us could not live without them.

I believe this RDBMS dominance is causing us to yield but a fraction of the power in our computers.

Object-oriented languages have been around for decades and the next few years, at least, will clearly be OO language dominated. There is no serious contending platform besides Java and .NET today.

Still, the promises of OO, such as high-quality and reuse, are not fulfilled.

With rare exceptions, the OO culture simply does not exist. People are still uncapable of using OO to drive complexity out of their business logic.
And the reason for that is RDBMS dominance. There is absolutely no way of doing OO with your live data in an RDBMS.

10 years ago, people thought using "data-aware" GUI "objects" coupled to their database was using OO. Today, many people think that using an Object-Relational Mapping (ORM) tool to map dumb data-objects to database records, is using OO. :(

ORMs such as Hibernate, Castor and Toplink are central players in this depressing context of ours. On the one hand, they provide a palliative in the absence of true OO but, on the other, they actually hamper the community by illuding it and giving OO a bad name.

But I believe a brighter future is inevitable:

  • OO design patterns are starting to kick in.
  • IDEs are starting to invest in decent OO design support rather than database-coupled "RAD" development.
  • Open source project are cross-pollinating best OO techniques such as refactoring, test driven development, implementation independence, etc.
Feel free to participate.

This post is dedicated to denouncing the symptoms and causes of database atrophy and providing a vision of what we can do in full health. :)

And as my experience has shown me to behave, I should not only pinpoint the problem, I should also provide a solution, here are 2 projects that can cause your brain to kick out that atrophy you have been living with.

db4o - "Objects are here to stay"
Prevayler - "Persistence is Futile"

0 Comments:

Post a Comment

<< Home