Ruby, DSLs and the free lunch that was not so free


I suspect that given a choice between learning to wield a language-for-creating-languages or writing a quick'n'dirty domain-specific GUI to spit out the Javascript or the Python or the Ruby - most developers will pick the latter. For good or ill.

There is no free lunch. If you create a text-editor-based DSL and use Ruby to express it, its important not to think that you are not creating a learning curve in doing so. If the language is aimed at a set of users who are less technical than you are, it might be the case that a GUI the embodies the concepts of your domain specific language and spits out clean, straight ahead Ruby is a better way to go. Especially if your user community is going to insist that you provide an easy to use GUI editor anyhow.

Finally, circling back to the XML hysteria of the last decade. Look at what has happened in the intervening decade. XML made it possible to create any number of domain specific languages. I remember seeing lists a mile long covering everything from HR records to stock tickers. Where are they now? Only a handful have crossed the chasm. The same will, I suspect, prove true for Ruby-based DSLs. When this happens – and I believe it is inevitable – I fear that Ruby will bear the brunt of the backlash and its many excellent attributes as a general purpose programming language, will not get the attention they deserve.

Join us:






Ask a Question