HOME JAVA & JEE OPEN SOURCE .NET WEB & RIA CLOUD & GRID ARCHITECTURE & DDD AGILE PM & SCRUM AGILE TESTING & BDD OS, MOBILE & SERVER  
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
Digg! StumbleUpon
RIA, AJAX & WEB PODCASTS
Chris Parsons:Software Craftsmanship Ideas & Eden, Software Craftsmanship Ideas & Eden
Chris Parsons : 10th Mar 2010
View Podcast: Software Craftsmanship Ideas & Eden,
Corey Haines:Software Craftsmanship Terminology, Software Craftsmanship Terminology
Corey Haines : 10th Mar 2010
View Podcast: Software Craftsmanship Terminology,
Cagatay Civici:PrimeFaces: Next Generation JSF Component Suite, PrimeFaces: Next Generation JSF Componen
Cagatay Civici : 3rd Mar 2010
View Podcast: PrimeFaces: Next Generation JSF Component Suite,
Karl Widmer:Integrating JSF with Spring Web Flow, Integrating JSF with Spring Web Flow
Karl Widmer : 3rd Mar 2010
View Podcast: Integrating JSF with Spring Web Flow,
Rick Evans:Flex and Spring Integration:Introducing Spring BlazeDS Integration, Flex and Spring Integration
Rick Evans : 17th Feb 2010
View Podcast: Flex and Spring Integration:Introducing Spring BlazeDS Integration,
Ian Robinson:Hydra and Hypermedia, Hydra and Hypermedia
Ian Robinson : 11th Feb 2010
View Podcast: Hydra and Hypermedia,
Paul Ardeleanu:Rails & iPhone Integration , Rails & iPhone Integration
Paul Ardeleanu : 10th Feb 2010
View Podcast: Rails & iPhone Integration ,
Alex  MacCaw:Bowline: A Ruby GUI Framework, Bowline: A Ruby GUI Framework
Alex MacCaw : 10th Feb 2010
View Podcast: Bowline: A Ruby GUI Framework,
Anup Narkhede:Architecture of Birdpie, a Twitter Application, Architecture of Birdpie, a Twitter Appli
Anup Narkhede : 10th Feb 2010
View Podcast: Architecture of Birdpie, a Twitter Application,
Murray Steele:Fibers in Ruby 1.9, Fibers in Ruby 1.9
Murray Steele : 10th Feb 2010
View Podcast: Fibers in Ruby 1.9,
Murray Steele:Introduction, Introduction
Murray Steele : 10th Feb 2010
View Podcast: Introduction,
Joel Chippindale:Show Off, a Ruby-Based HTML Presentation Software, Show Off, a Ruby-Based HTML Presentation
Joel Chippindale : 10th Feb 2010
View Podcast: Show Off, a Ruby-Based HTML Presentation Software,
Brent  Snook:Decorating the Domain - Wrapping Polymorphic Presentation Logic Around the Model, Decorating the Domain
Brent Snook : 10th Feb 2010
View Podcast: Decorating the Domain - Wrapping Polymorphic Presentation Logic Around the Model,
Ismael Celis:Using Websockets with EventMachine, Using Websockets with EventMachine
Ismael Celis : 10th Feb 2010
View Podcast: Using Websockets with EventMachine,
Lars Jorgensen:Evolution of Data Models in Rails - Lessons Learned, Evolution of Data Models in Rails - Less
Lars Jorgensen : 10th Feb 2010
View Podcast: Evolution of Data Models in Rails - Lessons Learned,
OTHER RIA, AJAX & WEB EVENTS
Adobe RIA User Group:Introduction to Accessibility API in Flex, Adobe RIA User Group
FREE EVENT: Accessibility API in Flex
London, Wednesday, March 17th
:Object-Oriented ActionScript - Beginners,  Object-Oriented ActionScript - Beginners
1 DAY COURSE.
Paris, Tuesday, March 30th
:Introduction to Adobe Flex,  Adobe Flex Intro
1 DAY COURSE.
Paris, Tuesday, April 13th
Alan Cassar:Developing Mobile Applications with Android,  Android Mobile App Development
3 DAY COURSE. Featuring Alan Cassar
London, Wednesday, April 14th
:Adobe Flex for Flash Developers,  Adobe Flex for Flash Developers
1 DAY COURSE.
Paris, Monday, April 19th
Andrew Chalkley:Core RoR: Web Development With Ruby on Rails,  Ruby on Rails Web Development
4 DAY COURSE. Featuring Andrew Chalkley
Paris, Tuesday, April 20th
:Developing Mobile Applications with Android,  Android Mobile App Development
3 DAY COURSE.
Paris, Wednesday, April 21st
Peter Lubbers:HTML5 Communication: Using Web Sockets and more to build real-time Web applications,  HTML5 Communication: Using Web Sockets & more too
3 DAY COURSE. Featuring Peter Lubbers
London, Wednesday, April 21st
© Copyright 2003-2010, Skills Matter Ltd
  Web development by You In Control
About Us  Jobs  Find Us  Meeting & Training Rooms  Newsletter  Community  Community-FR  Apress  1st Teach  Jobs: Sales Executive  Jobs: Student Podcaster  jobs - marketing assistant  Spring Certification