Domain Specific Language – DSL

Segundo Martin Fowler, a Domain Specific Language – DSL – consiste em uma linguagem de programação de expressividade limitada utilizada para soluções específicas de um sistema. Linguagens DSLs não representam uma inovação na programação pois eram muito utilizadas por comunidades Unix/Linux no desenvolvimento de soluções específicas utilizando Lisp, linguagem para codificar lógica baseada em inteligência artificial.

Atualmente, as DSLs passaram a ser notadas devido à popularidade de linguagens como Ruby on Rails que, por ser de fácil compreensão e baseada em DSL, encoraja novos desenvolvedores a aderir a essa abordagem. Além disso, sistemas baseado C++ e Java precisam definir comportamentos dinamicamente através de XMLs de difícil compreensão, o que incentiva a criação de soluções específicas – DSL.

Tipos de DSL

As DSLs, segundo Fowler, podem ser categorizada em dois tipo:

  1. Interna: compreende a própria linguagem de programação, como Ruby, que tem uma linguagem simples e intuitiva com outras DLSs incorporados.

  2. Externa: é uma linguagem independente analisada como dados/informação compreensíveis a outras linguagens, como por exemplo, CSS, XML, SQL, HQL e expressões regulares.

Vantagens

Dentre os benefícios da utilização de DSLs estão:

  • Primeiramente, a utilização de DSLs possibilita a elaboração de códigos mais compreensível, o que possibilita maior facilidade de manutenção e consequentemente o aumento da produtividade no desenovlivmento;

  • e uma DSL bem projetada torna-se compreensível aos usuários finais, possibilitando-lhes um melhor entendimento da implementação das regras de negócio.

Referências

One comment on “Domain Specific Language – DSL

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *