Presentation: The State of the DSL Art in Ruby

In this talk Glenn Vanderburg, Relevance, discusses what the Ruby community has learned about building DSLs, and shows how to build state-of-the-art DSLs without going overboard.

Glenn explains some issues that can come from using internal DSLs, such as overestimating what they can do. He goes on to explain some examples of Ruby DSLs, such as Mathieu Bouchard's X11 library, which uses a DSL to write code that resembles the formal specification in Ruby code.

After some further examples, Glenn shows how Ruby compares to other languages when it comes to working with DSLs.

I enjoyed this talk very much. It's one of the rare examples where the speaker really has to say something for one hour without losing track or sinking too much into little details. With many talks on InfoQ I noticed that after 30 minutes basically everything has been said and the following 30 minutes only distract from the actual message that should come across.

A lesson about how to do good presentations! I really learned something here.

Please always define a TLA (three letter acronym) when writing an article. The first sentence should have read "has learned about building Domain Specific Languages (DSL)". Then later references could use DSL without confusion about whether Ruby was used to make Dialogue Scripting Language or a Digital Subscriber Line or a Distributed Service Logic or a Dynamic Simulation Language