From the preface to the book:<p>> As I looked at all of this, I felt a sense of a knowledge gap. I saw people using XML where a custom syntax would be more readable and not harder to do. I saw people bending Ruby into complicated contortions when a custom syntax would be easier. I saw people playing around with parsers when a fluent interface in their regular language would be a lot less work.<p>In short, Fowler isn't espousing implementing new syntax at the drop of the hat; he recognizes the various forces many other commenters on this post have already mentioned, and navigates through them appropriately.
Has anyone implemented a DSL for a professional use case? I would love anyone to share what was the use case, what alternatives did you consider and how did you measure success?<p>I have previously implemented one for credit policy decisions, but I am not sure in hindsight if it was the right approach and we did a poor job of measuring success, so I would love to hear from the community.
Authoring in DSL can improve efficiency and productivity, but in my experience DSL itself brings benefits to a limited extent. It can be easier to read and write, but these benefits require one to understand the business model behind the DSL, which is usually more time-consuming.<p>Having a strong validation and observation toolset based on the DSL brings more value than the language itself. DSL constrains its semantics so it is easier to build tools on it.