Lenguajes de Dominio Específico
Steven Kelly ha publicado un artículo titulado "Improving Developer Productivity with Domain-Specific Languages" que plasma bastante bien mi/nuestro enfoque sobre el Desarrollo de Software Dirigido por Modelos (DSDM). Un resumen de los puntos claves:
- UML no aumenta la productividad porque (1) es muy difícil generar código debido a sus imprecisiones y (2), si no se personaliza, no aumenta el nivel de abstracción.
- Los Lenguajes de Dominio Específico (Domain-Specific Languages - DSL) sirven para encapsular el conocimiento sobre un tipo de sistemas, de manera que desarrolladores "no expertos" puedan utilizar ese conocimiento.
- Debido a que los DSLs están ideados para un tipo específico de sistemas, la generación es más sencilla y puede "embeber" las "mejores prácticas" que conocen los expertos.
- Para que el DSDM sea útil son necesarias herramientas. Un lenguaje que sólo puede ser dibujado en una pizarra no aumenta (sensiblemente) la productividad.