Linguagem de domínio específico

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
Question book.svg
Este artigo não cita fontes confiáveis e independentes (desde abril de 2012). Por favor, adicione referências e insira-as corretamente no texto ou no rodapé. Conteúdo sem fontes poderá ser removido.
Encontre fontes: Google (notícias, livros e acadêmico)

Uma linguagem de domínio específico, em inglês domain-specific language (DSL), é um tipo de linguagem de programação ou linguagem de especificação em desenvolvimento de software e engenharia de domínio, dedicada à um domínio de problema particular, uma técnica de representação de problema particular e/ou uma técnica de solução particular.

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.

Exemplos de linguagem de domínio específico incluem HTML, Logo para crianças, Verilog e linguagens de descrição de hardware VHDL, Mata para programação matricial, Mathematica e Maxima para matemática simbólica, macros e fórmulas de planilhas eletrônicas, SQL para consultas de bancos de dados relacionais, gramáticas YACC para criação de analisadores sintáticos, expressões regulares para analisadores léxicos, o Generic Eclipse Modeling System para criação de linguagens de diagramação, Csound para síntese de áudio e música e linguagens de entrada para GraphViz e GrGen, pacotes de software usados para leiaute de grafos e reescrita de grafos, linguagens R e S para estatísticas, etc.

O oposto é:

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 espressado de uma maneira mais clara do que uma linguagem existente pode permitir e o tipo de problema em qustão reapareça suficientemente com frequencia. A programação orientada à linguagem considera a criação de linguagens de propósito especial para espressar problemas como parte padrão do processo de solução do problema.

Visão geral[editar | editar código-fonte]

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 (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.

Ver também[editar | editar código-fonte]

Referências

Ícone de esboço Este artigo sobre programação de computadores é um esboço. Você pode ajudar a Wikipédia expandindo-o.