I recently ordered an ebook version of Groovy for Domain Specific Languages. It’s a book by Packt publishing regarding DSLs and how to implement them using Groovy so it’s obviously pretty interesting to me. I’ll post a proper review when I get a chance to read it next month while I’m traveling, but in the meantime, there’s a free chapter you can download if you’re interested in finding out more.
Anyone else had a chance to read this yet?
This month sees the first in a three part series of articles on Domain Specific Languages using Groovy in GroovyMag. In the first article, we look at what DSLs are, use cases for them, ideas for improving your DSL designs and a range of concepts that will help when considering/discussing DSLs. Next month will be an article showing practical examples of DSL in Groovy and then in August we’ll look at some of the engineering considerations to bear in mind when developing DSLs for real world project.
Want to know what you missed (or remember what you experienced) last month at the Gr8 conference in Denmark, Copenhagen? Check out the latest edition of GroovyMag which has a review – including interviews with the organizers.
Many thanks to Peter Ledbrook for organizing the London GGUG meeting last night. I got a chance to present on practical DSLs in Groovy and then Peter finished off the evening with a great overview of some of the cool features in 1.3 and even 1.3.1 (which had only launched earlier that same day).
Here is the deck, and the presentation was taped, so as soon as I get the URL I’ll post a link to it.
OK, now that I seem to be using this blog for real and on a regular basis, it’s time to simplify the domain name. Instead of gettinggroovy.wordpress.com (which still works), you can now just get to the blog by going to http://gettinggroovy.com.
In the next couple of months expect a series of postings regarding Domain Specific Languages in Groovy. They’ll be designed to flesh out the three article series I’ll be writing for GroovyMag. Also expect various postings on Groovy and Grails development, from simple tips and techniques to some funky ANTLR preprocessing stuff and some explorations of AST transformations in Groovy 1.7. I’ll probably also include ancillary technologies like some advanced thoughts on using git and my experiences working with Hudson for CI with Grails projects.
Oh, and there will also be some stuff on Gaelyk – really looking forward to playing with that.
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!
I’ve just heard from Peter Ledbrook that I’ll be presenting at the London Groovy/Grails Usergroup on Monday May 17th at 18:30 at Skillsmatter: The Skills Matter eXchange, 116-120 Goswell Road, London, EC1V 7DP.
Peter Ledbrook will also be giving a presentation on the upcoming features in 1.3, so I’m looking forward to catching that!
Looking forward to meeting old friends and new in the Groovy/Grails community in London. And if you’re interested in DSLs even if you don’t do a lot of work in Groovy, come along and check out the preso – it’s relevant for anyone interesting in adding DSLs to the mix of techniques they use when developing apps.
Here’s the summary:
What are some practical uses for Domain Specific Languages? And how do you go about designing DSLs, implementing them in Groovy, creating tests for your models and evolving the structure of the languages over time? In this fast paced session we’ll look at a real world Groovy DSL, how it was designed and implemented, the testing strategies employed and the options for evolving the structure (grammar) of the DSL. If you’ve built DSLs but want to go further, or if you’ve still not figured out how a DSL might help you to build better, more maintainable apps more quickly and easily, come along and learn more about creating practical, maintainable DSLs for your projects.
Update: registration now available . . .