domingo, 15 de marzo de 2009

Riesgos de los DSL

El año pasado leí este articulo sobre los riesgos de crear un "external DSL" propio.  El articulo menciona el costo de mantener código no trivial como un riesgo importante y eso me hace sentido porque ya ocurrió antes, con los frameworks Java.  

Conozco algunas empresas que crearon en casa sus framework web, de persistencia o de DI en lugar de usar alternativas open source conocidas.  Ahora, estas empresas tienen que
  • capacitar sus empleados en el uso de estos framework y me imagino que para estos empleados no le agrega valor mencionar este conocimiento en su curriculum.
  • hacer evolucionar el framework con las tendencias nuevas como por ejemplo el uso de anotación y programación genérica,
  • al revés, dejar de mantener el framework y no aprovechar las ventajas de las tendencias nuevas ante-mencionadas.
  • migrar el código para usar framework más conocidos.
Estos mismos problemas existen también en el mundo de los DSL.  Para mitigarlos, el autor del articulo propone desarrollarlos en modalidad Open Source o desarrollarlos con una comunidad de empresa que comparten el mismo dominio de negocio.  En los comentarios del articulo y en este otro más antiguo se recomienda que el DSL sea bien acotado (no más de 1 día de aprendizaje) y estático (sin cambios futuros).

Me parece super razonable.

No hay comentarios: