<<< Previous speaker Next speaker >>>

Neal Ford, ThoughtWorks

 Neal  Ford

Neal Ford is an senior application architect at ThoughtWorks, a global IT consultancy with an exclusive focus on end-to-end software development and delivery. He is also the designer and developer of applications, instructional materials, magazine articles, courseware, video/DVD presentations, and author of the books Developing with Delphi: Object-Oriented Techniques, JBuilder 3 Unleashed, and Art of Java Web Development.

He is also the editor and a contributor to No Fluff, Just Stuff Anthology : The 2006 Edition and No Fluff, Just Stuff Anthology Volume 2: The 2007 Edition. His primary consulting focus is the building of large-scale enterprise applications. He is also an internationally acclaimed speaker, having spoken at numerous developers conferences worldwide. Check out his web site at www.nealford.com. He welcomes feedback and can be reached at nford@thoughtworks.com.

Presentation: "Building DSLs in Static and Dynamic Languages"

Time: Thursday 14:30 - 15:30

Location: Stanford

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.

Password protected Download slides

Tutorial: "Domain Specific Languages"

Track:   Tutorial

Time: Tuesday 09:00 - 16:00

Location: Stanford

Abstract:

Domain Specific Languages (DSLs) are an old technique in software development that's getting a recent resurgence in interest. Most developers run into them regularly - as XML configuration files, regular expressions, query languages or build scripts. However they haven't been given the attention they deserve and there is very little information out there to help developers build them effectively. We find that few people have done much to build their own DSLs and even fewer have a broad appreciation of the various techniques involved.

This tutorial is a step towards closing this gap. We'll begin by introducing the three main categories of DSLs: External, Internal, and Language Workbenches. We'll talk about the advantages of DSLs and the problems in using them, so that you'll appreciate what the different styles look like and when you might want to build them. In the second part we'll go into more details on techniques of working with each of the three styles, to get you started on your own work.

We are currently working to develop a coherent pedagogic framework (if you'll forgive a pretentious name) for DSLs, this tutorial is an opportunity to catch up with our work. However it does come with a caveat: we are still very much in the middle of the process of capturing and organizing this knowledge. As a result we won't be describing a finished body of knowledge, but rather one that is still evolving.