Un altro esempio, ovviamente, è Rake, il sistema di generazione Ruby. Che cosa rende un DSL "buono", a mio parere:
- notazione è conforme al significato, vale a dire se si legge una frase (dichiarazione) nel DSL, si ha una chiara, inequivocabile idea di ciò che fa.
- Specifico del dominio, ovvero il DSL non risolve tutti i problemi dell'universo, ma si concentra su un piccolo dominio (come la creazione di software, l'interrogazione di dati o la costruzione di interfacce utente)
- Alto livello di astrazione. Un DSL utilizza concetti di alto livello che il programmatore può utilizzare e li traduce in un'implementazione di livello inferiore (internamente). Nel caso di Rake, il concetto principale su cui si basa la lingua sono compiti e dipendenze tra di loro.
fonte
2009-06-09 19:50:24
La struttura di sinatra è davvero bella. Ne avevo sentito parlare ma non l'ho guardato. Grazie del promemoria. – Demi