BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Presentations Writing DSLs in Groovy

Writing DSLs in Groovy

Bookmarks
59:55

Summary

In this presentation recorded at QCon London 2009, after a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed in front of the audience.

Bio

Author of the book Groovy Recipes: Greasing the Wheels of Java, Scott has been involved in creating web sites in Grails since 2006. Scott teaches public and private classes on Groovy and Grails for start-ups and Fortune 100 companies. He is the co-founder of the Groovy/Grails Experience conference and ThirstyHead.com, a training company that specializes in Groovy and Grails training.

About the conference

QCon is a conference that is organized by the community, for the community.The result is a high quality conference experience where a tremendous amount of attention and investment has gone into having the best content on the most important topics presented by the leaders in our community. QCon is designed with the technical depth and enterprise focus of interest to technical team leads, architects, and project managers.

Recorded at:

Jun 29, 2009

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • Should read "scripting with Groovy"

    by Hermann Schmidt,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Most of the talk is about conventional scripting that has always been around in some form. A bunch of interesting Groovy tricks (for newbies) are presented. Calling a console script that understands a few commands a DSL is a bit over the top in my opinion.

    The last 10 minutes or so Scott quickly demonstrates how to extend the meta class of a closed (final) Java class (Integer) to do the ubiquitous "2.hours + 10.minutes" example. That's more like it.

  • 2.hours and 10.minutes

    by Hossam Karim,

    Your message is awaiting moderation. Thank you for participating in the discussion.


    class Movie(var title:String, var duration: Int) {
    override def toString = title + " runs for " + duration + " minutes"
    }

    implicit def units(i: Int) = new {
    def hours = i * 60
    def minutes = i
    def and(j: Int) = i + j
    }


    val starWars = new Movie("Star Wars", 2.hours and 30.minutes)

    println(starWars)

  • great presentation

    by Gilad Manor,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    it really made my fingures itch:)

  • The video seems to doesn't work anymore...

    by Dragan Stankovic,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Does anyone have similar problem?

  • Re: The video seems to doesn't work anymore...

    by Dragan Stankovic,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Now it works again (don't know what happened in the meantime)

  • Re: The video seems to doesn't work anymore...

    by Floyd Marinescu,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    We recently deployed a fix for some video problems we were having. Thanks Dragan.

  • Re: Should read

    by Scott Davis,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Thanks for your comment, Hermann. This is admittedly a basic presentation - it doesn't assume previous knowledge of Groovy or DSLs. You clearly preferred the internal DSL over the external. That's cool. If I could've been guaranteed an audience with deep experience in both Groovy and DSLs, I could've spent the entire hour covering just that.

  • grade

    by Gene De Lisa,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    The presenter gets an A for his knowledge of the topic.

    The videographer was a bit clueless on the terminal screenshots when zooming in on the left side of directory listings. We were all wondering what the permissions were and not what he was talking about right?


    As a presenter he gets a D. The first half is mostly about him. Count how many times he uses the word "I".
    That is the problem with these conferences. The entire point is gratifying the ego of the presenter; the anti-pattern to Kathy Sierra's "you rock".

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT