Send to Printer

DSM

Discovering simplicity

April 02, 2005 22:23:18 +0300 (EEST)

Spotted in Smalltalk Tidbits, Industry Rants

Simplicity is the key here. The implementors of Java and .NET just don't get it on that score. They think it all revolves around having a a veritable ton of complexity wrapped in a set of wizards. It's the other way around...

How true - and the same criticism could be levelled at Symbian development in C++: a dozen files for Hello World is still a dozen files, wizard or no wizard.

But then how is Domain-Specific Modeling different? Isn't DSM just wrapping complexity in a set of graphical wizards? Actually, no. The difference is in what the developer has to work with in the long term. A wizard will spit out a lot of code for a little input, just like DSM does, but with wizards you then have to work on that code for the rest of your project.

With DSM, the code that is generated remains firmly "under the hood". You keep working on the model level throughout development. There's no working on an unholy interlinear mix of auto-generated and hand-written code. What DSM does is raise the level of abstraction to a level where things are simple for the developer. Sure, underneath there is code, and underneath that is assembler, machine code, microcode, logic gates and electrons. The trick is how successfully you can hide the next level down, and keep it hidden. DSM does it, wizards don't.