Alex Shatalin and Václav Pech hold a hands on demonstration on using JetBrains MPS to generate a new language, including version control, debugging, testing, refactoring, etc.
Achim Demelt discusses creating a UI using a completely declarative DSL called S4 without flow control, events or data binding.
Phil Trelford suggests domains, such as modeling, DSLs, concurrency, for which functional programming is well-suited, and areas for which an OO or a mixed approach has better results.
Markus Völter discusses the abstractions that should be considered when creating a DSL, insisting on expressivity, semantics, modularity, and concrete syntax.
Maxim Mazin and Evgenii Schepotiev discuss the advantages of using DSLs by exemplifying application development with JetBrains MPS (Meta Programming System) and the Webr-DNQ framework.
Markus Völter demoes programming for embedded systems using JetBrains’ MPS language workbench supporting C, C extensions, DSLs, product line variability, requirements traceability and model checking.
Angelo Hulshout presents what problem the participants to this year’s Code Generation language workbench challenge had to tackle, their solutions, difficulties encountered, and lessons learned.
Amit Rathore discusses DSLs in Clojure along with an example of using Clojure to provide real-time dynamic pricing for online retailers at Runa.
Lennart Kats introduces Spoofax, a language for testing the syntax and semantics of domain-specific languages, enabling the creation of test cases using fragments of the language being tested.
Lúcio Ferrão talks about making the software appealing to the business by using a visual language and an integrated environment supporting the entire life cycle of application development.
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.