Attention - Some Facts About DSLs
A DSL is not a general-purpose programming language.
A DSL...
- must be defined like any formal language
- requires translation to a target system
- may not be as powerful as the target system's native language
- is not necessarily based on a natural language
- needs at least a vestige of knowledge about programming
(except in trivial cases)
- may even require the skills of a good programmer
- an implementation causes additional development effort
A DSL is neither a silver bullet nor a free lunch.