Otro ejemplo, por supuesto, es Rake, el sistema de compilación Ruby. Lo que hace que una conexión DSL "bueno" en mi opinión:
- notación se ajusta al significado, es decir, si se lee una frase (declaración) en el DSL, usted tiene una idea clara, no ambigua de lo que hace.
- Dominio específico, es decir, el DSL no resuelve todos los problemas del universo sino que se centra en un pequeño dominio (como crear software, consultar datos o construir UI)
- Alto nivel de abstracción. Un DSL usa conceptos de alto nivel que el programador puede usar y los traduce a una implementación de nivel inferior (internamente). En el caso de Rake, el concepto principal en el que se basa el lenguaje son las tareas y las dependencias entre ellos.
La estructura del sinatra es realmente agradable. Había oído hablar de eso pero no lo había mirado. Gracias por el recordatorio. – Demi