A domain-specific language (DSL) is a computer language specialized to a particular application domain. This is in contrast to a general-purpose language (GPL), which is broadly applicable across domains, and lacks specialized features for a particular domain. 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 Emacs Lisp for GNU Emacs and XEmacs. DSLs can be further subdivided by the 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 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.
You got a bad reputation
That's the word out on the town
It gives a certain fascination
But it can only bring you down
You better turn yourself around
Turn yourself around
Turn it upside down
Turn yourself around
You had bad breaks well that's tough luck
You play too hard too much rough stuff
You're too sly so cold
That bad reputation has made you old
Turn yourself around
Turn yourself around
Turn it upside down