The Softer Blog

2005-01-30

Database Atrophy

Welcome, :)

I feel we, the software development community in general, are suffering from a condition 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.

As an industry, we are still holding conferences on how to better develop CRUD software and hailing thing like Ruby on Rails.

And the reason for that is RDBMS dominance. There is absolutely no way of doing OO with your live data in an RDBMS.

In contrast, there is a specific breed of aliens on our planet that develops systems of complexity, performance, stability and portability that completely dwarf our efforts, and for a single reason:

Except for storing keyboard control settings and high-scores, they are completely free from databases.

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 blog is dedicated to denouncing the symptoms and causes of database atrophy and providing a vision of what we can do in full health. :)

See you, Klaus.
"Do You Still Use a Database?" http://www.prevayler.org