I have always enjoyed working with compilers, the engineering part of it as much as the creative process, on crafting my own language. Programming languages in general and Domain Specific Languages (DSLs) in particular are something I’m very passionate about.
The concept of DSLs is nothing new. For example, Lisp developers have developed and used “little languages” for a long time. But in recent years DSLs have become more widely used and adopted in the industry in general. The tools and techniques have matured, and it has never been easier to start exploring the wonderful world of language design.
DSLs, as most languages, are about communication. A well-crafted DSL communicates the essence and means of the domain it represents in a way that feels and is so natural that you don’t even think about its underlying technology. It helps to bridge the gap between business and technology and between stakeholders and programmers—a skill more important than ever and well worth acquiring.
Debasish is a highly regarded expert in both the Scala and open source communities. I have been reading his intellectually challenging but highly enjoyable blog for years and I got to know Debasish more closely about a year ago when he started contributing to the Akka project. It immediately became evident that he was not only a deep thinker, but also a pragmatic hacker who gets things done. I have enjoyed discussing programming languages, design, and more with him ever since.