domain specific languages (dsls) with groovy [5th indicthreads conference on java, 2010, pune,...
TRANSCRIPT
![Page 1: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/1.jpg)
1
DSLs with Groovy Saager Mhatre
![Page 2: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/2.jpg)
2
github.com/dexterous
code.google.com/u/saager.mhatre
thinkaround.blogspot.com
@dexterous
![Page 3: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/3.jpg)
3
![Page 4: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/4.jpg)
4
The basic idea of a
domain specific languageis…
![Page 5: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/5.jpg)
5
…a computer languagethat's targeted to a particular kind of problem,
rather than a general purpose languagethat's aimed at any kind of software problem.
Martin Fowlerhttp://www.martinfowler.com/bliki/DomainSpecificLanguage.html
![Page 6: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/6.jpg)
6
… a computer programming languageof limited expressiveness
focused on a particular domain.Martin Fowler
Domain Specific Languages
![Page 7: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/7.jpg)
7
Chaar Banarasi Masala
Zardaa lagaa ke, Katri supaari
Tamaakhu jyaada, Gulkand kam
![Page 8: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/8.jpg)
8
![Page 9: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/9.jpg)
9
![Page 10: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/10.jpg)
10
http://ant.apache.org/manual/tutorial-HelloWorldWithAnt.html#enhance
![Page 11: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/11.jpg)
11
Excerpted from org.hamcrest.examples.junit4.ExampleWithAssertThat.java
Excerpted from http://code.google.com/p/logicalpractice-collections/wiki/GettingStarted
![Page 12: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/12.jpg)
12
the
popularity of DSLsis a result of…
![Page 13: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/13.jpg)
13
improved
developerproductivity
![Page 14: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/14.jpg)
14
better
domain-expertinteraction
![Page 15: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/15.jpg)
15
![Page 16: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/16.jpg)
16
![Page 17: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/17.jpg)
17
![Page 18: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/18.jpg)
18
![Page 19: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/19.jpg)
19
![Page 20: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/20.jpg)
20
![Page 21: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/21.jpg)
21
![Page 22: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/22.jpg)
22
![Page 23: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/23.jpg)
23
![Page 24: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/24.jpg)
24
![Page 25: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/25.jpg)
25
If a tree falls in a forest and no one is around to hear it, does it make a sound?
![Page 26: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/26.jpg)
26
If a Groovy enthusiast talks DSL in a conference and no one is interested in it,
does it help the software community?
![Page 27: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/27.jpg)
27
![Page 28: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/28.jpg)
28
If a Groovy enthusiast talks DSL in a conference and no one is interested in it,
does it help the software community?
![Page 29: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/29.jpg)
29
![Page 30: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/30.jpg)
30
![Page 31: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/31.jpg)
31
![Page 32: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/32.jpg)
32
![Page 33: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/33.jpg)
33
![Page 34: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/34.jpg)
34
![Page 35: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/35.jpg)
35
![Page 36: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/36.jpg)
36
![Page 37: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/37.jpg)
37
![Page 38: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/38.jpg)
38
![Page 39: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/39.jpg)
39
![Page 40: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/40.jpg)
40
![Page 41: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/41.jpg)
41
![Page 42: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/42.jpg)
42
![Page 43: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/43.jpg)
43
![Page 44: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/44.jpg)
44
![Page 45: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/45.jpg)
45
![Page 46: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/46.jpg)
46
![Page 47: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/47.jpg)
47
![Page 48: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/48.jpg)
48
![Page 49: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/49.jpg)
49
![Page 50: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/50.jpg)
50
![Page 51: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/51.jpg)
51
![Page 52: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/52.jpg)
52
![Page 53: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/53.jpg)
53
![Page 54: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/54.jpg)
54
![Page 55: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/55.jpg)
55
![Page 56: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/56.jpg)
56
![Page 57: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/57.jpg)
57
![Page 58: Domain Specific Languages (DSLs) with Groovy [5th IndicThreads Conference On Java, 2010, Pune, India]](https://reader031.vdocuments.mx/reader031/viewer/2022032215/55a482f71a28abec458b4840/html5/thumbnails/58.jpg)
58
github.com/dexterous
code.google.com/u/saager.mhatre
thinkaround.blogspot.com
@dexterous