Domain Specific Languages seem like a cool idea, but where's the payoff? This talk provides an overview of how to build both internal and external DSLs (including the state of the art tools), stopping along the way to show how this is practical to your day job.
Many Java frameworks and servers depend on a maze of twisty XML files wherein many get lost. In a system where the source code is unavailable, such an approach allows for customization. But when you can modify the source, the configuration files are unnecessary. After all, you can make the code do what you want. And it is less verbose and more understandable.
Learning the syntax of a new language is easy, but learning to think under a different paradigm is hard. This session helps you transition from a Java writing imperative programmer to a functional programmer, using Java, Clojure and Scala for examples.
Multicore processors are on every desk now. How are we going to make use of the extra power they provide? A promising solution is parallel programming using collections. Programing by transforming and aggregating collections is simple and powerful, and can be parallelized well. In this talk I will describe the design principles behind the Scala collections framework which implements these ideas.