Software Development : Domain-Specific Languages

From bitrary
Jump to: navigation, search

Software Development : How to find Flaws

As of 2016 the main value of domain-specific languages, abbreviated as DSL, seems to be related to Model Checking and Domain-Specific Language Tracing. According to Martin Fowler(archival copy) the DSL-s that are implemented as libraries of some other programming language are called internal domain-specific languages (Estonian: analüsaatorivaba probleemorienteeritud keel, archival copy) and the DSL-s that have their own syntax so that they require also their own parser are called external domain-specific languages (Estonian: analüsaatoriga probleemorienteeritud keel).

DSL-s for Domain Experts

Domain-Specific languages are often advertised as something that can make it easy for people, who are not professional software developers, to express their domain knowledge, essentially offering a configuration for software that is written by professional software developers. Unless some wizard-like application like the JetBrains Metaprogramming System is used, the domain experts will run into to the very same problems that the users of Linux/BSD/Unix configuration files have: it is easy to do all sorts of mistakes, including syntax mistakes, and the end user has to spend considerable amount of time studying the documentation of the DSL to find out, what values are allowed, what syntax is allowed. The end users should always work with a wizard in stead of a configuration file, because the wizard is able to assist the user by automatically informing the user about acceptable value ranges and by denying invalid data entry at the earliest possible moment.