Sarah Allen talks on how to introduce children to the basics of programming, presenting a new related language called “Pie” along with lessons learned from creating a DSL in Ruby.
Terence Parr discusses using automation tools including DSLs to automate the software creation process as much as possible in order to increase output, effectiveness, correctness and velocity.
Markus Völter discusses what type systems are and some of the typing rules usually needed for DSLs, exemplifying the concepts with Xtext and MPS.
Richard Tibbetts discusses Complex Event Processing in the context of High Frequency Trading and the advantages of using high level DSLs, followed by the case study of a system built with StreamBase.
Heiko Behrens shows how to create an iPhone domain specific language using model-driven software development.
Bernhard Merkle discusses the various types of DSLs, and compares different language workbenches by using them with the same custom DSL in order to outline the differences between them.
Peter Bell explains DSLs, how to approach writing one, and especially how to evolve one over time using "fixing the API", "backwards compatibility", "versioning" and "automated evolution/checking”.
Paul King and Guillaume Laforge present Groovy’s capabilities to build DSLs through several concrete examples meant to highlight the language’s good support for creating internal DSLs.
Venkat Subramaniam explains some of the Groovy syntax elements and its idioms by taking Java code examples and transforming them step by step into their more concise Groovy counterparts.
Guy Steele, Douglas Crockford, Josh Bloch, Alex Payne, Bruce Tate, and Ted Neward (moderator) hold a discussion on the future of programming. Topics included: the future beyond functional, running JVM/CLR on many cores, what is the future of type checking and type systems, languages for education, comparing DSLs and ubiquitous languages, proving code correctness, functional and parallelism.
Magnus Christerson demonstrates using a domain workbench to develop an electronics domain language - its key concepts, how they are defined, the semantic model – and a building access permit example showing the phases from concept to code.
Guillaume Laforge explains what makes Groovy to be better suited to create a DSL: closures, meta-programming, operator overloading, named arguments, a concise and expressive syntax, demonstrating how to write a DSL in Groovy.