Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>А с DSL как-то совсем не понятно: это что, каждый на своём языке будет писать?
Когда говоришь о DSL, вспоминай в первую очередь регэкспы. Идеальный пример DSL.
Другой хороший пример DSL — описания грамматик для парсера.
Еще один хороший пример DSL — UML (например, для описания конечного автомата).
И напоследок еще один — математика (например, матрично-тензорно-векторные операции, или интегрирование/дифференцирование). Чтоб инженерам-математикам-физикам, которые смотрят на код, что-то считающий, было сразу видно, какая в нем формула записана (с поправкой на линейный, а не двумерный, синтаксис) и правильна ли она.
Это даже не говоря о более нишевых, создающихся под конкретную задачу, которую решает данный софт.
В данном случае "каждый" — это каждая команда.
Да, внутри команды будет свой собственный DSL — в чем проблема? По большому счету, любая хорошая (в смысле API) библиотека — это уже DSL, просто с "обычным" синтаксисом.