Re: The wisdom of the object mentors (Was: Searching OO Associations with RDBMS Persistence Models)

From: topmind <topmind_at_technologist.com>
Date: 6 Jul 2006 21:52:46 -0700
Message-ID: <1152247966.040397.41770_at_s53g2000cws.googlegroups.com>


Robert Martin wrote:
> On 2006-07-06 12:30:59 -0500, "topmind" <topmind_at_technologist.com> said:
>
> > When you formulate some better "navigational maths", let me know. Until
> > then, I'll stick with relational.
>
> It isn't a matter of either/or. A good carpenter may really love his
> saw, but he won't use it to pound in nails or drive screws.

Well, navigational is oversold at this stage in history in my opinion. Actually, navigational is pretty good at representing expressions, such as Boolean expressions (at least in a way that we are used to due to our schooling style). However, when structures start looking like data structures rather than linguistical structures, then relational is usually the better bet.

And I will accept the idea that people have personal preferences as to which better fits the way their head works. That is fine as long as they don't try to shove their preference down everybody's throwt, claiming it objectively superior.

People also perceive change differently, such that organizing code to reduce the impact of change will pivot on how people perceive change. There is often no free lunch such that tradeoffs present themselves to designers and a path must be chosen as a best-guess compromise. Simple polymorphism does not fit change well as I perceive it, and complex, indirection-heavy polymorphism (such as composition) is pretty much the kind of navigational structures that prompted Dr. Codd to rethink stuff. The introduction of behavior (function pointers) into it did not fix the *original* problems of nav.

History repeats....

> --
> Robert C. Martin (Uncle Bob) | email: unclebob_at_objectmentor.com

-T- Received on Fri Jul 07 2006 - 06:52:46 CEST

Original text of this message