SpringOne 2GX 2011

Chicago, October 25-28, 2011

Design your own Domain Specific Language

Understanding the domain within which customers evolve is a key factor in the success of a project. From this domain and its wealth of concepts, as software developers and architects, we can derive a design that is aimed at solving problems encountered in the day-to-day business.

So far, we mostly solved these brainteasers with computer science paradigms like Object-Oriented Programming, n-tier architectures, or with tools such as rules engines to stay close to the domain at hand. However, with the advent of dynamic languages, a new era has come to let you create languages taylored to a given domain of knowledge, allowing you to share a common methaphore of understanding between developers and subject matter experts.

Groovy, the popular and successful dynamic language for the JVM, offers a lot of features that allow you to create embedded Domain-Specific Languages. Closures, metaprogramming, operator overloading, named arguments, a more concise and expressive syntax, are elements of Groovy you can take advantage of to create your own mini derived language.

The purpose of this presentation is to show how to write such DSLs in Groovy, discovering in turn those various techniques, with pratical and concrete examples taken from real-life projects leveraging Groovy DSLs.


About Guillaume LaForge

Guillaume LaForge

As Head of Groovy Development for SpringSource, Guillaume Laforge is the official Groovy Project Manager, and the spec lead of JSR-241, the Java Specification Request that standardizes the Groovy dynamic language. He is also a frequent conference speaker presenting Groovy and Grails at JavaOne, SpringOne, QCon, the Sun TechDays, and JavaPolis. Guillaume also co-authored Groovy in Action along with Dierk König. Before founding G2One, which was acquired by SpringSource in late 2008, and taking the role of VP Technology, Guillaume worked for OCTO Technology, a consultancy focusing on architecture and agile methodologies. While at OCTO, Guillaume developed new offerings around Groovy and Grails for its customers.

More About Guillaume »