История изменений
Исправление Manhunt, (текущая версия) :
Правда не знаю, корректно ли это называть DSL.
Ну, для ряда доменов — вполне корректно.
Изначальный-то вопрос был о том, на каком языке лучше реализовывать DSL. Моя позиция заключается в том, что хорошие DSL настолько специализированы под нужды своего домена, что в общем-то нет большой разницы, на каком языке их реализовывать. Всё равно, и синтаксис, и семантика у них далеки от любого general-purpose.
И наоборот, если ты готов пожертвовать ясностью изложения (навалить всякого синтаксического мусора и boilerplate-а), то можно просто писать код на general-purpose языке, используя определенные где-то в сторонке сущности предметной области, и называть это «DSL-ем». Это делается хоть на лиспе, хоть на с++, без малейших проблем.
Исправление Manhunt, :
Правда не знаю, корректно ли это называть DSL.
Ну, для ряда доменов — вполне корректно.
Изначальный-то вопрос был о том, на каком языке лучше реализовывать DSL. Моя позиция заключается в том, что хорошие DSL настолько специализированы под нужды своего домена, что в общем-то нет большой разницы, на каком языке их реализовывать. Всё равно, и синтаксис, и семантика у них далеки от любого general-purpose.
И наоборот, если ты готов пожертвовать ясностью изложения (навалить всякого синтаксического мусора и boilerplate-а), то можно просто писать код на general-purpose языке, используя определенные где-то в сторонке сущности предметной области и называть это «DSL-ем». Это делается хоть на лиспе, хоть на с++, без малейших проблем.
Исходная версия Manhunt, :
Правда не знаю, корректно ли это называть DSL.
Ну, для ряда доменов — вполне корректно.
Изначальный-то вопрос был о том, на каком языке лучше реализовывать DSL. Моя позиция заключается в том, что хорошие DSL настолько специализированы под нужды своего домена, что в общем-то нет большой разницы, на каком языке их реализовывать. Всё равно, и синтаксис, и семантика у них далеки от любого general-purpose.
И наоборот, если ты готов пожертвовать ясностью изложения, то можно просто писать код на general-purpose языке, используя определенные где-то в сторонке сущности предметной области и называть это «DSL-ем». Это делается хоть на лиспе, хоть на с++, без малейших проблем.