Nikita Ivanov on DSL's

Nikita Ivanov (o qual nunca eu havia ouvido falar), postou hoje em seu blog http://www.jroller.com/nivanov/entry/off_the_grid_dsl_madness, alguns ataques, ou pontos de vista, como queiram, ao uso de DSL’s em sistemas.

Entre os pontos citados por ele, alguns IMO são extremamente injustificados, outros até podem ser considerados. Por exemplo:

Verbosity != Readability não pode ser considerado uma verdade, como na maneira afirmada por ele. Se a linguagem usada for clara, independente do tamanho utilizado, com certeza a leitura será muito mais facilitada do que uma linguagem em forma de siglas e sinais que não dizem nada a ninguém. Com relação à MDA, eu concordo que ainda precisa ser bem mais maturada para se tornar viável.

Com relação à Jboss Rules não posso opinar, mas com relação às annotations do JPA, para mim não são DSLs, são apenas meta dados para definir seu schema de banco de dados. Ok, alguém pode vir e falar que elas se expressam na linguagem do domínio de um banco de dados. Mas creio que DSLs vão muito além disso.

Discordo disso, e além do mais ele não define o porque dessa afirmação.

Ninguém em DSLs disse que os usuários ou experts no domínio desenvolveriam seus programas. Ao contrário, DSLs estão aí para facilitar o desenvolvimento sim, mas por pessoas que conhecem desenvolvimento, e para facilitar a compreensão da equipe que está desenvolvendo o sistema e colocar na comunicação entre a equipe de desenvolvimento e os conhecedores do domínio.

Enfim, o endereço para o post dele é http://www.jroller.com/nivanov/entry/off_the_grid_dsl_madness.

Alguém compartilha da opinião dele? Ou tem observações/objeções à fazer sobre minha opinião?

Tem um argumento pertinente, o de que não há skill para construção de linguagens. O resto é FUD.

Comparar JBoss Rules com JPA é como dizer: “Veja o PC e o IPhone. O PC tem milhões de programas, o IPhone tem meia dúzia. Obviamente o IPhone Não presta” e Domain-Specific Languages não são sobre verbosidade ou linguagem natural, me parece que o sujeito está associando DSL com Ruby -e que ele Não gosta/tem medo d Ruby.