Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Domain-specific language
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Computer language specialized to a particular set of requirements or functionality}} A '''domain-specific language''' ('''DSL''') is a [[computer language]] specialized to a particular application [[Domain (software engineering)|domain]]. This is in contrast to a [[general-purpose language]] (GPL), which is broadly applicable across domains. There are a wide variety of DSLs, ranging from widely used languages for common domains, such as [[HTML]] for web pages, down to languages used by only one or a few pieces of software, such as [[MUSH]] soft code. DSLs can be further subdivided by the kind of language, and include domain-specific [[markup language|''markup'' languages]], domain-specific [[modeling language|''modeling'' languages]] (more generally, [[specification language]]s), and domain-specific [[programming language|''programming'' languages]]. Special-purpose computer languages have always existed in the computer age, but the term "domain-specific language" has become more popular due to the rise of [[domain-specific modeling]]. Simpler DSLs, particularly ones used by a single application, are sometimes informally called '''mini-languages'''. The line between general-purpose languages and domain-specific languages is not always sharp, as a language may have specialized features for a particular domain but be applicable more broadly, or conversely may in principle be capable of broad application but in practice used primarily for a specific domain. For example, [[Perl]] was originally developed as a text-processing and glue language, for the same domain as [[AWK]] and [[shell script]]s, but was mostly used as a general-purpose programming language later on. By contrast, [[PostScript]] is a [[Turing-complete]] language, and in principle can be used for any task, but in practice is narrowly used as a [[page description language]].
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)