Pplware

O que é uma DSL? Conheça o poder destas linguagens

Uma linguagem específica de um domínio (Domain Specific Language) é uma linguagem destinada a ser utilizada no contexto de um domínio particular. Mas porquê usar uma DSL? Quais são as suas vantagens e desvantagens? Descubra tudo hoje.


 

Uma DSL não tenta agradar a todos

Enquanto uma linguagem de uso geral (GPL) pode ser utilizada para uma vasta gama de problemas e aplicações empresariais, uma DSL não funciona bem assim.

Em vez disso, é criada para uma esfera limitada de aplicabilidade e utilização, mas é suficientemente poderosa para representar e resolver os problemas e soluções dessa esfera. Um bom exemplo de uma DSL é o HTML. É uma linguagem para o domínio das aplicações Web. Não pode ser utilizada, por exemplo, para calcular números.

O criador de uma GPL não sabe onde a linguagem pode ser utilizada ou os problemas que o utilizador pretende resolver com ela. Por isso, uma GPL é criada com construções genéricas que são potencialmente utilizáveis para qualquer problema, solução, negócio ou necessidade.

Java é uma GPL, uma vez que é utilizada em desktops e dispositivos móveis, incorporada na Web em bancos, finanças, seguros, indústria transformadora, etc.

 

Porquê usar uma DSL?

O objetivo de uma DSL é captar ou documentar os requisitos e o comportamento de um domínio. A utilização de uma DSL pode ser ainda mais restrita a aspetos específicos do domínio (por exemplo, a negociação de mercadorias no setor financeiro).

As DSLs reúnem as equipas comerciais e técnicas. Por exemplo, os designers e os programadores podem utilizar uma para representar ou conceber uma aplicação.

Uma DSL também pode ser utilizada para gerar código-fonte para um domínio ou problema. No entanto, a geração de código não é considerada obrigatória, uma vez que o seu objetivo principal é o conhecimento do domínio. No entanto, quando é utilizada, a geração de código é uma grande vantagem.

 

Prós e contras destas linguagens

Do lado positivo, as DSLs são poderosas para capturar os atributos de um domínio. Além disso, como são pequenas, são fáceis de aprender e utilizar. Finalmente, uma DSL oferece uma linguagem para os domain experts e entre estes e os programadores.

Em contrapartida, uma DSL é utilizada apenas no âmbito do domínio e do objetivo pretendidos, e tem uma curva de aprendizagem, embora esta possa não ser muito elevada. Os criadores de DSLs necessitam de conhecimentos do domínio, bem como de conhecimentos de desenvolvimento da linguagem, e raramente as pessoas possuem ambos.

 

Opções de software para desenvolver DSLs

 

Leia também:

Exit mobile version