In industria dezvoltarii de software, problemele si rezolvarile variaza, dar adesea se poate observa o oarecare repetitie a lor, lucru care cauzeaza frustrare programatorilor.
De aceea, programatorii au venit cu cateva abordari generice ca design patterns si solutii arhitecturale (arhitectural solutions).
Insa chiar si in aceste cazuri repetarea aceleiasi solutii arhitecturale consuma timp si creeaza nemultumire.
In acest context, cativa programatori au venit cu o noua solutie din zona Domain-Specific Language – o cale de a defini noi limbaje de programare care se concentreaza pe rezolvarea unei probleme bine definite dintr-un anumit domeniu si de o marime mica, realizand astfel dezvoltarea mai usoara.