Introduzione ai Domain Specific Languages
![an open Domain Specific Language (DSL) book with software code mixing into a design flow, on a wooden desk with a laptop in the background](/images/00061a006801267c_hu344f3f8e23df59cd8984350d8bfbe95a_3162696_8c48d16888f7d35d5beecda40804f8a8.webp)
Un Domain Specific Language (DSL) è “un linguaggio di programmazione di espressività limitata focalizzato su un dominio particolare”. Secondo Martin Fowler, possiamo distinguere tra DSL interni ed esterni: I DSL interni sono un particolare modo di usare un linguaggio di programmazione generico. Ad esempio Rails, l’ormai famoso framework di Ruby, viene spesso visto come una collezione di DSL. I DSL esterni, al contrario, sono linguaggi separati dal linguaggio principale dell’applicazione con cui lavorano, come SQL, CSS, SASS e HTML. Un altro aspetto chiave è che il DSL permette la manipolazione di una libreria o framework, spesso riferito come modello semantico. Tra i benefici principali dei DSL, Fowler evidenzia l’aumento della produttività nello sviluppo e una migliore comunicazione con gli esperti del dominio (content engineers, product managers, ecc.).