Programação orientada a linguagem - Language-oriented programming

A programação orientada a linguagem ( LOP ) é um paradigma de desenvolvimento de software onde "linguagem" é um bloco de construção de software com o mesmo status que objetos, módulos e componentes, e em vez de resolver problemas em linguagens de programação de uso geral , o programador cria uma ou mais linguagens específicas de domínio para o problema primeiro e resolve o problema nessas linguagens. A programação orientada a linguagem foi descrita em detalhes pela primeira vez no artigo de Martin Ward, Language Oriented Programming , publicado em Software - Concepts and Tools , Vol.15, No.4, pp 147-161, 1994.

Conceito

O conceito de programação orientada a linguagem adota a abordagem de capturar requisitos nos termos do usuário e, em seguida, tentar criar uma linguagem de implementação o mais isomórfica possível às descrições do usuário, de modo que o mapeamento entre requisitos e implementação seja o mais direto possível. Uma medida da proximidade desse isomorfismo é a "redundância" da linguagem, definida como o número de operações de edição necessárias para implementar uma mudança autônoma nos requisitos. Não se assume a priori qual é a melhor linguagem para implementar a nova linguagem. Em vez disso, o desenvolvedor pode escolher entre as opções criadas pela análise dos fluxos de informação - quais informações são adquiridas, qual é sua estrutura, quando são adquiridas, de quem e o que é feito com elas.

Desenvolvimento

O Racket (linguagem de programação) é projetado para suportar a programação orientada a linguagem. Outras ferramentas de workbench de linguagem , como JetBrains MPS , Kermeta ou Xtext fornecem as ferramentas para projetar e implementar DSLs e programação orientada a linguagem

Veja também

Referências

links externos