Archive for the ‘Presentations’ Category
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.
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 . . .
Here are the slides from last nights presentation to the Sydney Java Users Group. Many thanks to Dushan Hanuska for helping to make the event happen, Brendan Humphreys for organizing the event and to Atlassian for hosting it and providing beer and pizza at their great offices in downtown Sydney!
It was the first time I had given the presentation, but despite rewriting it about 4 hours before the presentation and jetlag (I’d just landed in Sydney from New York that morning) the presentation was well received. The goal of the presentation was to put context around the process of working with internal DSLs by examining the uses for DSLs, approaches to designing of DSLs, the differences between internal and external DSLs and lifecycle concerns such as testing and evolution. I think it provided a good introduction to the material.
For the next presentation, I want to add a little more detail on good language design choices, testing and evolution and I’d also like to add an end to end example I can evolve and a little more coverage of the language features available in Groovy for implementing internal DSLs, but I feel like it was a good first shot at presenting the material. DSLs/DSM is a huge topic and it’s always difficult to figure out exactly what material will help people to do the best job of designing DSLs and to fit it into a one hour slot.
Thanks for everyone who came and supported the event. Particular thanks to Paul King who flew down from Brisbane. He also kindly shared a bunch of ideas based on his DSL Groovy presentations that I look forward to incorporating into the next cut of this preso. I enjoyed a great evening discussing everything from DSL design through GPars to ideas on new features for 1.8 and beyond – it was great to spend some more time with one of the team that provide us with such a cool language to work with!
Last week I attended the excellent inaugural gr8 in the US in Minneapolis (look for a review in the May edition of GroovyMag). This week I’m back in MN presenting at a ColdFusion conference on agile development and productive work practices.
in May, my Grails world tour begins! First stop, a presentation for the Sydney Groovy group on Tuesday May 4th while I’m down to present at WebDU. The week after I’ll be presenting in New York on Tuesday May 11th, and the week after I’ll hopefully be either attending or presenting at the London Groovy/Grails Usergroup – probably on Monday 17th. I’ll be presenting on DSL design and the Eclipse Modeling Framework that week at the British Computer Society Software Practices Advancement conference, before flying off for a day to the awesome Gr8 conference in Copenhagen (I’d love to attend both days, but am presenting at SPA on the Wednesday in London). Then back to London for another ColdFusion conference presentation (I love *all* dynamic languages on the JVM!) before returning briefly to chillax in New York (my home base) for a while. Back to the UK in June to present on Spring Roo at Code Generation 2010.
I’ve been doing work on domain specific modeling, DSL’s and software product lines for a while, but I’m really excited to finally be porting a lot of my SPL functionality on to the Grails framework. It’s an excellent stack with a really exciting community and I can’t wait to meet more Groovy and Grails developers around the world in the next few weeks. So, if you’re in Sydney, New York or London (or are going to gr8.eu), please say “hi” to the slightly jetlagged guy with a strange English/US accent – I’d love to learn from you all!
As to the preso’s, I’m focusing on practical DSL design. Guillaume Laforge does a great job of presenting on the syntax of DSLs, but there are a bunch of other issues to consider when designing, developing, testing, maintaining and evolving DSLs and I’m looking forward to presenting more information on that as it relates to Groovy and Grails as I continue to get more familiar with the stack.
(Hopefully) see you somewhere!
On Tuesday of this week I gave a short presentation to the New York Groovy/Grails Meetup, summarizing some of the content from the Gr8 conference earlier this year in Copenhagen. Numan Salati then gave a great presentation looking at various metaprogramming techniques in Groovy and Grails. The slides are now available online.