際際滷

際際滷Share a Scribd company logo
DSLs with Groovy Saager Mhatre
github.com/dexterous code.google.com/u/saager.mhatre [email_address] thinkaround.blogspot.com @dexterous
油
The  basic idea  of a domain   specific   language is
 a computer language that's targeted to a particular kind of problem, rather than a general purpose language that's aimed at any kind of software problem. Martin Fowler http://www.martinfowler.com/bliki/DomainSpecificLanguage.html
  a computer programming language of limited expressiveness focused on a particular domain. Martin Fowler Domain Specific Languages
Chaar   Banarasi Masala Zardaa   lagaa ke ,  Katri   supaari Tamaakhu   jyaada ,  Gulkand   kam
油
油
http://ant.apache.org/manual/tutorial-HelloWorldWithAnt.html#enhance
Excerpted from org.hamcrest.examples.junit4.ExampleWithAssertThat.java Excerpted from http://code.google.com/p/logicalpractice-collections/wiki/GettingStarted
the popularity  of  DSLs is a  result  of
improved developer productivity
better domain-expert interaction
油
油
油
油
油
油
油
油
油
油
If a  tree falls in a forest  and no one is  around to hear it , does it  make a sound ?
If a  Groovy enthusiast talks DSL in a conference  and no one is  interested in it , does it  help the software community ?
油
If a  Groovy enthusiast talks DSL in a conference  and no one is  interested in it , does it  help the software community ?
油
油
油
油
油
油
油
油
油
油
油
油
油
油
油
油
油
油
油
油
油
油
油
油
油
油
油
油
油
github.com/dexterous code.google.com/u/saager.mhatre [email_address] thinkaround.blogspot.com @dexterous

More Related Content

DSls in groovy

Editor's Notes

  1. What is DSL? Used DSL Built DSL
  2. Internal DSL Possibly one of the nicest examples of a fluent DSL with Static Typing
  3. What is DSL? Used DSL Built DSL
  4. Dynamic language, we dont need types Getters/setters eliminated by autogenerated properties All those semi-colons
  5. Autogenerated default constructor
  6. Main to script
  7. Class has been reduced to its essentials On to list notation and list processing functions- blocks and closures
  8. Chaining list processing GStrings
  9. Dynamic language, we dont need types Getters/setters eliminated by autogenerated properties All those semi-colons