
Neal Ford
(5256) Building DSLs in Static & Dynamic Languages
Technical long talk 50 min
Tuesday, 2008-06-24, 16:30 - 17:20, Arena 5
Neal Ford - ThoughtWorks (speaker)
Rate this talk:
Topics
Abstract
You've heard all the hype for the past couple of years: Domain Specific
Languages (DSLs) are going to take over the world. This session demystifies this
topic in 2 ways: by providing concrete definitions for styles and applicability
of DSLs and showing how to implement these different styles. I build up
definitions for the different types of DSLs in static (Java) and dynamic (Groovy
and Ruby) languages. Then, I discuss building DSLs as internal (i.e., built on
top of an underlying language) and external (built using a preprocessor or
grammar), with examples of each. Throughout this session, I discuss the
applicability of this style of development and show targeted examples. I discuss
fluent interfaces and techniques for building them, including problems.
Incidentally, I show some cool language features of both Groovy and Ruby that
make building DSLs easier in those languages.
* Why DSLs
* Abstraction
* Internal vs. External DSLs
* Fluent Interfaces
* Building Blocks
* Internal DSLs
o In Java
o In Groovy
o In Ruby
* External DSLs
* The Finishing Problem
* Patterns of DSLs
* Best Practices and Applications






