Jive Talkin’: DSL Design and Construction

This is a talk on DSL purpose, design, and construction. There’s a lot of FUD for and against DSL’s, and hopefully this presentation will cut through a lot of the B.S. and present the costs and benefits in a straightforward and intellectually honest manner with a pinch of sarcastic humor and a dash of LOLCATS. It’ll kick off with a discussion of what a DSL is and isn’t, the distinction between internal and external DSL’s, and what benefits these little languages confer to the users. Next, I’ll take a few common DSL’s from the Ruby world and discuss how they work, why they work so well for what they do, and if any adjustments could be made to their syntax or implementation that would improve their effectiveness.