Martin Fowler, mångas favoritförfattare inom mjukvarubranschen (mig inkluderad), håller på att skriva en bok om DSL (Domain Specific Languages) som ska bli färdig 2010. Det borde väcka min nyfikenhet, men jag får bara ont i magen. Teknostress? Kanske det, men det är något med DSL som inte är nyttigt. Tyvärr har jag har inte kunnat sätta fingret på det, tills Jonas Bandi bloggade med titeln "Have I lost my faith?"
Det Jonas säger, framför allt, är att en DSL ganska snart stöter på 80/20 regeln – helt plötsligt måste man löda och svetsa in features i sin DSL för att lösa de där svåra 20% problemen. Då sitter man med ett språk som börjar bli mer och mer komplext, plus att det är designat av en amatör. För det är svårt att utveckla ett språk.
Är detta önskvärt? Roligt, javisst, men är det rätt sätt att använda produktägarens pengar?
Jo visst. Vi som kallar oss arkitekter gör ibland domänmodeller och begreppsmodeller. Så man kan resonera som man ska i den rådande branschen.
Oftast blir de inte rätt, missvisande och framförallt får man ändra dem hela tiden.
Hur lätt ändrar man ett DSL? Vad händer om du har kodat i ett DSL och inser att du måste ändra i DSL?
Hur många gånger har du sett klasser med underliga namn som heter så för att begreppet hette så förut, så klassen heter så av historiska skäl?