Domain Specific Languages has been one of the bigger development “buzz topic”s over the last year or two (I can’t call it a “buzz word” since its three). DSLs are mentioned a lot by the ThoughtWorker crowd (Martin Fowler, Obie Fernandez, Neil Ford, etc).
I’ve always been curious about it and even sat through a presentation about DSLs by Neil (leaving completely confused BTW) at NFJS.
Well, I’ve finally seen a couple of tangible examples of a DSL. Heck… I’ve even been using one without realizing it: jMock. Check out Martin’s post. He’s got a nice example describing what he calls a “FluentInterface.” (He’s always inventing new terms…)
I think I finally Get It. Based on those examples I see how it can be done in Java. And… I think its hugely powerful. Programs could become a LOT more readable, reflecting the rules and constraints of the problem space.
One of the big issues I see with it is that it takes more time to understand the problem and design a nice DSL. I need to hunker down and read “Domain Driven Design” by Eric Evans and try to apply it. When I get the chance I’ll be sure to let you all know…