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.
PROGRESSIVE JAVA PODCASTS
Sven Efftinge:Xtend - A Programming Language for Java Developers, Xtend
Sven Efftinge : 1st Feb 2012
View Podcast: Xtend - A Programming Language for Java Developers,
Martijn Verburg:Adopt a JSR, JSR
Martijn Verburg : 1st Feb 2012
View Podcast: Adopt a JSR,
Tobias Lindaaker:Neo4j Internals, Neo4j Internals
Tobias Lindaaker : 25th Jan 2012
View Podcast: Neo4j Internals,
Dave Springgay :HTML5, Android Webview and java bridging, HTML5 & Android Webview
Dave Springgay : 19th Jan 2012
View Podcast: HTML5, Android Webview and java bridging,
Paul Butcher:ScalaMock: 'Power' mocking for Scala, ScalaMock
Paul Butcher : 18th Jan 2012
View Podcast: ScalaMock: 'Power' mocking for Scala,
Malcolm Sparks:Reflections on a real-world Clojure application, Real-world Clojure
Malcolm Sparks : 17th Jan 2012
View Podcast: Reflections on a real-world Clojure application,
Julian Birch:Lightning talk: 1000 lines of Clojure, 1000 lines of Clojure
Julian Birch : 17th Jan 2012
View Podcast: Lightning talk: 1000 lines of Clojure,
Neale Swinnerton:Lightning talk: A Quick Guide to paredit-mode, paredit-mode
Neale Swinnerton : 17th Jan 2012
View Podcast: Lightning talk: A Quick Guide to paredit-mode,
Nick Rothwell:Clojure and MaxMSP, Clojure & MaxMSP
Nick Rothwell : 17th Jan 2012
View Podcast: Clojure and MaxMSP,
Peter Ledbrook:Upgrading to Grails 2, Grails 2
Peter Ledbrook : 16th Jan 2012
View Podcast: Upgrading to Grails 2,
John T. Davies:Enterprise Integration - The seriously nasty stuff, Enterprise Integration
John T. Davies : 12th Dec 2011
View Podcast: Enterprise Integration - The seriously nasty stuff,
Luke Daley:Smarter Testing with Spock, Spock
Luke Daley : 8th Dec 2011
View Podcast: Smarter Testing with Spock,
Andres Almiray:Getting Groovy on the Web and Desktop, Getting Groovy on the Web and Desktop
Andres Almiray : 8th Dec 2011
View Podcast: Getting Groovy on the Web and Desktop,
Erik Pragt:DiscoBot: Groovy on Android, DiscoBot: Groovy on Android
Erik Pragt : 8th Dec 2011
View Podcast: DiscoBot: Groovy on Android,
Guillaume LaForge:KEYNOTE - Groovy Update, KEYNOTE - Groovy Update
Guillaume LaForge : 8th Dec 2011
View Podcast: KEYNOTE - Groovy Update,
OTHER PROGRESSIVE JAVA EVENTS
Jan Machacek Spring in Scala,  Spring in Scala
FREE EVENT: In The Brain of Jan Machacek
London, Wednesday, February 8th
Official RNIB Accessibility Hackathon, Official RNIB Accessibility Hackathon
CONFERENCE (2 DAYS)
London, Saturday, February 11th BOOK NOW!
ThoughtWorks Quarterly Briefings:Is programming language choice a good thing?, ThoughtWorks Quarterly Briefings
FREE EVENT: Is programming language choice
Manchester, Monday, February 13th
ThoughtWorks Quarterly Briefings:Is programming language choice a good thing?, ThoughtWorks Quarterly Briefings
FREE EVENT: Is programming language choice
London, Thursday, February 16th
London Android User Group:Core dev talk, London Android User Group
FREE EVENT: core dev
London, Thursday, February 16th
GGUG:Deploying Grails Applications, GGUG
FREE EVENT: Deploying Grails
London, Monday, February 20th
:SpringSource's Rich Web Applications with Spring Training,  SpringSource's Rich Web Applications with Spring T
4 DAY COURSE.
London, Tuesday, February 21st
London Java Community:Zero Downtime of JavaEE applications and Home Automation with Java and Arduino, London Java Community
FREE EVENT: Zero Downtime Home Automation
London, Tuesday, February 21st
© 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