O conceito não é novo - linguagens de programação de propósito especial e todos os tipos de linguagem de modelagem/especificação sempre existiram, mas o termo se tornou mais popular devido a ascensão da modelagem de domínio específico.
A criação de uma linguagem específica de domínio (com software para suportá-la) pode valer a pena se a linguagem permitir que um tipo ou solução de um problema em particular seja expressado de uma maneira mais clara do que uma linguagem existente pode permitir e o tipo de problema em questão reapareça suficientemente com frequência. A programação orientada à linguagem considera a criação de linguagens de propósito especial para expressar problemas como parte padrão do processo de solução do problema.
Visão geral
Uma linguagem de domínio específico é criada especificamente para resolver problemas em um domínio particular e não se destina a ser capaz de resolver os problemas fora de seu âmbito de atuação[1] (embora isso possa ser tecnicamente possível). Em contraste, as linguagens de propósito geral são criadas para resolver problemas em muitos domínios. O domínio também pode ser uma área de negócio. Alguns exemplos de áreas de negócio incluem:
Linguagem de domínio específico para seguros de vida, desenvolvida internamente em grandes empresas de seguros.
Linguagem de domínio específico para simulação de combate.
Linguagem de domínio específico para o cálculo do salário.
Linguagem de domínio específico para o faturamento.
Uma linguagem de domínio específico está em algum lugar entre uma linguagem de programação Tiny e uma linguagem de script, e é muitas vezes usada de forma análoga a uma biblioteca de programação. As fronteiras entre estes conceitos são bastante distorcidas, bem como o limite entre as linguagens de script e as linguagens de propósito geral.