segunda-feira, dezembro 06, 2004

Desenvolver software = nova linguagem != construir casas

Recentemente eu estava lendo alguns artigos sobre LOP (Language Oriented Programming) e sobre DSL (Domain Specific Languages), eles acabaram me dando finalmente a metáfora que eu estava procurando para desenvolvimento de software "Desenvolver software é como criar uma linguagem" Normalmente, associamos desenvolvimento de software com construção civil: "Desenvolver software é como construir um prédio, vc primeiro faz o design da planta, blah, blah, blah". Sempre achei esse conceito perigosamente errado, mas ainda não tinha achado um conceito para substituir ele. Bom, talvez eu não tenha achado o conceito certo (será que existe conceito certo?), mas acho que pelo menos é mais adequado pra mim. A metáfora sobre linguagem é que quando criamos um objeto e seus métodos, estamos criando um "conceito", ou seja, uma palavra para ser usada em no programa. Podemos montar conceitos em cima de conceitos para expressar conceitos mais complexos. Isso é mais ou menos o conceito de "camada" mas não tão restrititivo qdo elas. Complicado, né? Bom, acho que o melhor é refletir um pouco mais sobre isso antes de escrever muito. Vou fazer uns protótipos aqui e ver no que dá, aí reporto o que aconteceu no blog. Que vc acha? Essa metáfora vira?

Nenhum comentário:

Postar um comentário