HOME SCALA & F# JAVA .NET WEB GROOVY & GRAILS ANDROID & IOS NOSQL ARCHITECTURE AGILE & SCRUM AGILE DEVELOPER  
Groovy & Grails eXchange 2009: Venkat Subramaniam on Building DSLs: Marriage of High Essence and Groovy Metaprogramming
Building DSLs: Marriage of High Essence and Groovy Metaprogramming


DSLs or Domain Specific Languages focus on a domain or a particular problem. They serve as an effective human-machine interaction tool as they're highly expressive. Their scope is fairly focused and that keeps them simple and small from the user's point of view. However, designing and implementing DSLs is not easy. Typically this involves steep learning curve and difficult parsing techniques. This is where Groovy comes in. You can take advantage of the flexible syntax of Groovy and it's metaprogramming capability to create what are called internal DSLs, that is, DSLs hosted using a higher level language.

In this fast paced highly interactive presentation you will start out learning the characteristics and types of DSLs. Then you will learn about the challenges in designing DSLs and deep dive into Groovy features that can ease the pain of implementing DSLs. Then, using some live coding, Venkat will show you how to create and implement internal DSLs using Groovy. Along the way you'll learn some tricks to facilitate desirable syntax for your DSL.


ABOUT VENKAT SUBRAMANIAM
Dr. Venkat Subramaniam, founder of Agile Developer, Inc. has trained and mentored thousands of software developers in US, Canada, Europe, and Asia. He helps his clients succeed with Agile Development and various software technologies.
More about Venkat Subramaniam
PODCAST BUILDING DSLS: MARRIAGE OF HIGH ESSENCE AND GROOVY METAPROGRAMMING

This session took part at the Groovy & Grails eXchange 2009. You can view the other 19 podcasts here.
AGILE LEADERSHIP PODCASTS
Christian Hassa:Evolving the big picture: Maps of living documentation, Maps of Living Documentation
Christian Hassa : 18th Nov 2011
View Podcast: Evolving the big picture: Maps of living documentation,
Chris Matts:Driving Requirements from Business Value, Driving Requirements from Business Value
Chris Matts : 18th Nov 2011
View Podcast: Driving Requirements from Business Value,
Gojko Adzic:Visualising quality, Visualising quality
Gojko Adzic : 18th Nov 2011
View Podcast: Visualising quality,
Matt Wynne:BDD As It's Meant To Be Done, BDD As It's Meant To Be Done
Matt Wynne : 18th Nov 2011
View Podcast: BDD As It's Meant To Be Done,
David Evans:What Testers and Developers Can Learn From Each Other, What Testers and Developers Can Learn
David Evans : 18th Nov 2011
View Podcast: What Testers and Developers Can Learn From Each Other,
Andrew  Kemp:Where Exploration And Automation Meet: Getting The Most From Automated Functional Tests , Where Exploration And Automation Meet: G
Andrew Kemp : 18th Nov 2011
View Podcast: Where Exploration And Automation Meet: Getting The Most From Automated Functional Tests ,
Lasse Koskela:Specifying User Interaction, Specifying User Interaction
Lasse Koskela : 18th Nov 2011
View Podcast: Specifying User Interaction,
Simon Brown:The Frustrated Architect, Frustrated Architect
Simon Brown : 15th Nov 2011
View Podcast: The Frustrated Architect,
Joseph Moore:TDD Android Applications with Robolectric, TDD Android Apps w. Robolectric
Joseph Moore : 6th Oct 2011
View Podcast: TDD Android Applications with Robolectric,
Nathan Gloyn:You Think You Know Agile?, You Think You Know Agile?
Nathan Gloyn : 5th Sep 2011
View Podcast: You Think You Know Agile?,
Allan Kelly:What does it take to be an Agile company?, Agile company
Allan Kelly : 1st Sep 2011
View Podcast: What does it take to be an Agile company?,
 :Jacob Aldridge on Paul Graham’s Trough of Sorrow, Paul Graham’s Trough of Sorrow
: 25th Aug 2011
View Podcast: Jacob Aldridge on Paul Graham’s Trough of Sorrow,
Jon Jagger:Stuff I'm starting to know now that I really wish I'd known 20 years ago, Stuff I wish I'd known
Jon Jagger : 4th Aug 2011
View Podcast: Stuff I'm starting to know now that I really wish I'd known 20 years ago,
Various Speakers:Janice Fraser on UX for Hackers, UX for Hackers
Various Speakers : 28th Jul 2011
View Podcast: Janice Fraser on UX for Hackers,
 :Matt Robinson on Lessons Learnt in San Francisco, Lessons Learnt in San Francisco
: 28th Jul 2011
View Podcast: Matt Robinson on Lessons Learnt in San Francisco,
OTHER AGILE LEADERSHIP EVENTS
Allan Kelly Dialogue Sheets, a new tool for retrospectives,  Dialogue Sheets, a new tool for retrospectives
FREE EVENT: In The Brain of Allan Kelly
London, Monday, February 13th
Kevin Ryan Kanban For Agile Portfolio Management,  Kanban For Agile Portfolio Management
FREE EVENT: In The Brain of Kevin Ryan
London, Monday, February 13th
Martine Devos:Martine Devos' Certified ScrumMaster and Estimation Class,  Martine Devos' Certified ScrumMaster
2 DAY COURSE. Featuring Martine Devos
London, Thursday, February 23rd
Linda Rising:Linda Rising's Fearless Change - Patterns for Introducing New Ideas,  Linda Rising's Patterns for Introducing New Ideas
1 DAY COURSE. Featuring Linda Rising
London, Monday, February 27th
Martine Devos:Martine Devos' Coaching Kanban for Teams,  Martine Devos' Coaching Kanban for Teams
2 DAY COURSE. Featuring Martine Devos
London, Monday, February 27th
Linda Rising Deception and Estimation: How We Fool Ourselves,  Deception and Estimation: How We Fool Ourselves
FREE EVENT: In The Brain of Linda Rising
London, Monday, February 27th
Linda Rising:Linda Rising's Influence Strategies for Practitioners,  Linda Rising's Influence Strategies
.5 DAY COURSE. Featuring Linda Rising
London, Tuesday, February 28th
Jon Jagger:Jon Jagger & Kevlin Henney's Agile Development for Developers,  Jon & Kevlin's Agile Development Course
3 DAY COURSE. Featuring Jon Jagger
London, Monday, March 5th
© Copyright 2003-2011, Skills Matter Ltd
  Web development by You In Control
About Us  Jobs  Find Us  Meeting & Training Rooms  Newsletter  Jobs: Sales Executive  Jobs: Student SkillsCaster  jobs - junior event coordinator  Speed Coding 2011  Open Source Journal  Ticket Raffle  Agile Expert Series  Jobs: Sponsorship Development  jobs: Marketing & Sales Graduate Internship