...by Daniel Szego
"Simplicity is the ultimate sophistication."
Leonardo da Vinci

Friday, March 23, 2018

Notes on domain specific languages

Domain specific languages represent a great way to specify applications on specific areas that can be efficiently used by the experts of the certain sub-domain. However domain specific languages are usually very difficult to scale. As most of such languages are non Turing complete, the architectural limits of the langues can be usually reached. In such cases systems with domain specific languages do not provide a solution based on the language itself, instead they try to provide a kind of a architectural solution, like being able to implement plugins in a general programming language. 

However, such a domain specific languages could be built up in a hierarchical way as well, with defining several sets of the languages starting from a minimal and secure subset which is capable to implement most of the use-cases and having broader sets of the language that eventually reach Turing completeness.