The Impedance ImperativeTuples + Objects + Infosets =Too Much Stuff!

, Oct 3, 2003

An excellent article by Dave Thomas discusses the problems developers face when having to deal with the relational model, objects, and infosets, to build applications.

Unsurprisingly, my favorite quote is this:

Meta programming [...] or generative programming is clearly the least offensive way to cope with this mess. A model driven generator can clearly address the syntactic redundancy and associated mappings. The generator handles the syntactic redundancy.

Unfortunately, his critcism is also well-founded:

This however is the easy part. Processing is still far too complicated. Unfortunately, most generative tools do not support debugging at the level of the abstraction, forcing programmers to have deep knowledge of the generated code and the underlying framework.

This is very true, and one of my main problems with the approach my own company adovates. While I strongly believe that all but the most trivial systems should be developed in a model-driven way, it's obvious that while it's a pragmatic way, it's dealing with symptoms, not the underlying problem.