Practical DSLs in Groovy Deck from New York Presentation
Had a great time presenting at last nights Grails meetup in New York. Lots of great feedback! A smart engaged audience made sure that we discussed everything from Software Product Lines to xText to uses for Visual modeling techniques and whether using the term “language” made it harder to sell fluent API’s.
I’ve reworked the deck a lot from the Sydney presentation, with some more examples and a sense of flowing from an API through internal DSLs to various external DSL approaches if and when they make sense. I also briefly covered a wider range of additional considerations – discussing briefly documentation, error handling and IDE support for your DSLs as well as testing and evolution. I also made it clearer that it wasn’t primarily a presentation on the details of getting rid of parentheses and commas to increase semantic density in Groovy as Guillaume Laforge has already nailed that material. This is really a focus on the wider engineering concepts that arise when designing and developing DSLs.
I’m liking the presentation now, although I think I *will* add a couple more slides with examples round the syntax as I found myself talking about things like categories and ExpandoMetaClasses and even the ANTLR preprocessing hooks and a slide or two would probably have helped comprehensibility – especially as I was just shooting through the syntactic materially really quickly.
I just wanted to thank everyone for coming out and in particular Mark Pollack for arranging the location, food and beer and actively participating in a meetup about a technology he doesn’t get to actively develop in!
Here’s the deck.
On another note, we’re looking to put together another meetup next month. If anyone has any ideas on a topic they’d like to see covered or would like to present on, suggest a topic!