Every so often it's good to be reminded of the fundamentals. Too
often, as you say, people seem to think that meaning can only be found
in procedural code. There's a ton of meaning just in the way we
organize the information in a problem.
Some of you working in the real-time area might think that those who
build systems using relational databases might be doing the kinds of
thinking Leon presents here. Sadly, the more that databases just
become a back-end to Java (and other languages') code, the less such
thinking actually takes place. Not only that, but the very mechanisms
that a relational database provides (such as constraint checking)
don't get used--and instead developers go about re-building these
mechanisms themselves.
Nicely done!
-- Marc Balcer