The Problem With Domain Specific Modeling
"Building a language us easy. Building tool support is hard."
In my experience, this is the opposite of the experience when you try to create a Software Product Line. I wrote a generalized tool for consuming an abstract grammar and generating a databased concrete syntax for storing, accessing and generating code from it in a weekend. My template based meta-generator is under 1000 lines of very simple code and was written in a long afternoon.
However, writing languages to define web applications flexibly, easily and comprehensibly - I've been working on that for five years and I still feel like I'm not done. Writing DSLs is like writing poetry. It is easy to do badly and extremely difficult to do well. Nothing against great tools like MetaCase+ and Microsoft DSL Tools which definitely have a use case and are probably easier to use than Eclipse GMF, but it is like giving a poet a copy of Microsoft Word and a thesaurus. It removes the accidental difficulties but still leaves the huge essential difficulty of composing a perfectly formed composition.
Thoughts?



There are no comments for this entry.
[Add Comment]