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.
Glenn also mentions some work by Rich Kilmer on DSLs. InfoQ has a great presentation by Rich Kilmer on DSLs.
Watch Glenn Vanderburg on "The State of the DSL Art in Ruby".
Community comments
Excellent
by Hermann Schmidt,
Sides out of sync
by Darscan Tyrell,
Re: Sides out of sync
by Diana Baciu,
Re: Sides out of sync
by Darscan Tyrell,
TLA
by Ralph Siegler,
Excellent
by Hermann Schmidt,
Your message is awaiting moderation. Thank you for participating in the discussion.
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.
The slides are mostly out of sync though.
Sides out of sync
by Darscan Tyrell,
Your message is awaiting moderation. Thank you for participating in the discussion.
Excellent talk, but the slides are very out of sync in the middle (as is the case with at least 2 other presentations that I watched on InfoQ) which is a terrible pity.
Re: Sides out of sync
by Diana Baciu,
Your message is awaiting moderation. Thank you for participating in the discussion.
Hermann, Darscan,
We have fixed the slide sync error now.
Diana
TLA
by Ralph Siegler,
Your message is awaiting moderation. Thank you for participating in the discussion.
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
Re: Sides out of sync
by Darscan Tyrell,
Your message is awaiting moderation. Thank you for participating in the discussion.
Ah, great news, thanks!