<<< Previous speaker next speaker >>>

Chief Scientist Martin Fowler, Loud Mouth on OO, DSLs

Chief Scientist Martin  Fowler

Martin Fowler is an author, speaker, consultant and general loud-mouth on software development.

He concentrates on designing enterprise software - looking at what makes a good design and what practices are needed to come up with good design. He has pioneered object-oriented technology, refactoring, patterns, agile methodologies, domain modeling, the Unified Modeling Language (UML), and Extreme Programming.

He's the Chief Scientist at ThoughtWorks - an international application development company, and has written five books on software development: Analysis Patterns, UML Distilled (now in its 3rd edition), Refactoring, Planning Extreme Programming (with Kent Beck), and Patterns of Enterprise Application Architecture. I also write articles regularly on my site at Martin Fowler.

Presentation: "Three years of real-world Ruby"

Time: Thursday 13:45 - 14:45

Location: Olympic

Abstract: ThoughtWorks has been using Ruby on client projects for about three years now. Furthermore we've also built one of our products (Mingle) using Ruby. Three years in is a good point to look back and talk about what we've learned about using Ruby for commercial projects. What are its real strengths, are the problems the ones we expect? We can also think about what role Ruby will play in our future portfolio.

Training: "Domain Specific Languages"

Track: Tutorial

Time: Tuesday 09:00 - 16:00

Location: Metropolitan II

Abstract:

Domain Specific Languages (DSLs) are an old technique in softwaredevelopment that's getting a recent resurgence in interest. Mostdevelopers run into them regularly - as XMLconfiguration files, regular expressions, query languages or buildscripts. However they haven't been given the attention they deserve andthere is very little information out there to help developers build themeffectively. We find that few people have done much to build their ownDSLs and even fewer have a broad appreciation of the various techniquesinvolved.

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

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

Keywords: DSL, Domain Specific Language, Java, Groovy, Ruby, Intentional Software, MPS, C#, Languages, Hot topic, Patterns

Target audience: Any developer interested in the current thinking and state of the art in Domain Specific Languages. This tutorial encourages thinking beyond frameworks and API's, starting to think about fluency in computer languages, from both theoretical and practical standpoints.