As DSLs personalizadas ainda são viáveis?

5

As DSLs personalizadas em JavaScript ainda são viáveis, especificamente as escritas com Antler, Boo ou a antiga Microsoft Oslo?

Com a proliferação de mecanismos JavaScript / ECMAScript de código aberto (V8, IronJS, etc.), faz mais sentido escrever a funcionalidade necessária em um desses ao invés de escrever um idioma totalmente novo?

    
por Daniel A. White 20.08.2011 / 15:49
fonte

3 respostas

1

Se você quer dizer DSL em termos estritos, como em uma especificação de linguagem de programação restrita a apenas um domínio, então sim. A proliferação dos mecanismos JavaScript / ECMAScript na verdade aumenta sua viabilidade - dada uma máquina virtual comum que é tão flexível quanto as do ECMAScript tendem a ser, as DSL são muito mais fáceis de criar e mais fáceis de encontrar.

O que você não verá, porém, são idiomas com seus próprios ambientes dedicados. No topo, você verá compiladores para os idiomas existentes (é o compilador Java para Javascript que o Google publica). Muito mais comumente, você verá uma biblioteca de funções de suporte associada a uma linguagem / estilo de programação imposta por restrições e convenções de API (a API para a biblioteca jQuery poderia ser chamada de DSL).

    
por 20.08.2011 / 16:21
fonte
0

As DSLs personalizadas ainda são viáveis, mas você tem outras opções que podem ser mais ou menos complexas, dependendo do problema que você está tentando resolver. Por exemplo, você pode implantar DSLs usando linguagens dinâmicas. (DSLs usando Groovy é um exemplo que vem à mente), que pode ser compilado ou traduzido em outros idiomas. Isso pode ter um custo inicial menor, mas você pode achar que não é o ajuste certo no seu caso.

Talvez você deva começar definindo o domínio em questão e criar uma lista de coisas que você precisaria de uma DSL.

    
por 20.08.2011 / 19:24
fonte
0

As DSLs raramente são criadas como idiomas "inteiramente novos". A maioria das DSLs práticas é construída sobre os idiomas existentes - por exemplo, jQuery é uma DSL sobre JavaScript. E essas DSLs não são necessariamente DSLs incorporadas - elas também podem ser autônomas, mas compiladas em uma combinação das linguagens existentes, em vez de ir até o nível mais baixo.

    
por 21.08.2011 / 13:13
fonte