Domain-specific language
lastmod 2025-12-08created 2025-12-081 edits
A domain-specific language is a computer language specialized for application to a particular domain. It is the opposite concept of a general-purpose language, which can be applied in any domain. There is a very wide variety of domain-specific languages. Some, like HTML, are widely used in the field of web pages, while others, like Emacs Lisp for GNU Emacs and XEmacs, are used in limited fields. Domain-specific languages can also be subdivided by kind of language, and include domain-specific markup languages, domain-specific modeling languages (more generally, specification languages), and domain-specific programming languages. Special-purpose computer programming languages have always existed in computing history, but the term "domain-specific language" has become better known due to the growing demand for domain-specific modeling.
The line between general-purpose languages and domain-specific languages is not very clear. A language may have specialized features for a particular domain yet be broadly applicable, and conversely, a language may in principle be designed for broad application yet be used mainly in a particular domain. For example, Perl was originally developed for text processing and as a glue language, but came to be used as a general-purpose programming language. Conversely, PostScript is a Turing-complete language and can in principle be used for any task, but in practice it is used in the very narrow field of page description languages.