Linguagem de domínio específico
Esta página ou se(c)ção precisa ser formatada para o padrão wiki. (Maio de 2015) |
Este artigo não cita fontes confiáveis. (Abril de 2012) |
Uma Linguagem de Domínio Específico português brasileiro (Domain-Specific Language - DSL inglês) são os paradigmas e funções, ou códigos específicos, de uma linguagem de programação ou linguagem de especificação em desenvolvimento de software e engenharia de domínio, dedicada a 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 de uma linguagem de domínio específico seria uma linguagem de programação de propósito geral, como C, Java ou Python ou uma linguagem de modelagem de propósito geral, como a Linguagem de Modelagem Unificada (UML);
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
[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[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.
Ver também
[editar | editar código-fonte]- ↑ Flamma (10 de agosto de 2024). «O que é Kotlin DSL: Entenda sua Aplicação e Vantagens». flammadesign.com.br. Consultado em 11 de setembro de 2024