preface

 

Domain-specific languages (DSLs) have existed essentially since the beginning of programming and software development, in various shapes and forms. Many DSLs have been implemented, and they’ve been used, often with great success, to drive software development. It’s therefore surprising that hardly any standard, go-to textbooks (specifically) on DSLs exist. Even fewer can be considered to be entry-level, in the sense that they don’t assume the reader has prior knowledge about several aspects of software language engineering.

Despite their longevity and their usefulness, DSLs still occupy a relatively small niche in software development. In fact, plenty of software developers are not aware of their benefits or even their existence. Those who are aware often find themselves unable to adopt a DSL-based approach in their daily job precisely because of its obscurity. Moreover, software developers are a hard crowd to “sell to”: they tend to be strongly opinionated and are used to an abundance of readily available open source tooling.