Domain-Specific Language (DSL)
- •
What it is
- •
a programming language or notation purpose-built for one specific domain, focused on domain abstraction rather than general-purpose flexibility — distinct from a General-Purpose Language (GPL) like Java or Python
- •
- •
- •
Examples
- •
SQL (database queries), HTML/CSS (web UI layout), Gradle/Ant/Makefile (build automation), Terraform/Ansible (infrastructure as code), Gherkin (BDD testing), BPMN (workflow modeling)
- •
- •
- •
What a DSL is built from
- •
domains, recipes, rules, grammars, an AST
- •
- •
Role in recording design
- •
Tools
- •
Unavailable reference
- •
- •
References
- •
Martin Fowler (DSL Book, 2010); Mernik et al. (2005).
- •
- •
Related