История изменений
Исправление hateyoufeel, (текущая версия) :
Не должен – не пользуйся. Другим это удобно.
Да нет, в этом-то и проблема что неудобно. За исключением пары-тройки довольно редких случаев это просто не нужно. Зато позволяет превратить сборку проекта в сраный цирк с анал карнавалом.
DSL должен быть расширяемым, например, модулями, которые уже можно на любом языке писать. Но
- сам DSL всё ещё не должен быть Тьюринг-полным
- их использование должно быть сведено к минимуму
Как отличный пример, есть Cabal в хачкелле. Язычок абсолютно топорен и просто позволяет описывать цели со стандартными свойствами. В 98% проектов абсолютно хватает стандартных средств. Для оставшихся можно немного расширений на том же хацкелле написать, чтобы сделать сборку интереснее.
Ну или Rust + Cargo с опциональным build.rs туда же.
Исправление hateyoufeel, :
Не должен – не пользуйся. Другим это удобно.
Да нет, в этом-то и проблема что неудобно. За исключением пары-тройки довольно редких случаев это просто не нужно. Зато позволяет превратить сборку проекта в сраный цирк с анал карнавалом.
DSL должен быть расширяемым, например, модулями, которые уже можно на любом языке писать. Но
- сам DSL всё ещё не должен быть Тьюринг-полным
- их использование должно быть сведено к минимуму
Как отличный пример, есть Cabal в хачкелле. Язычок абсолютно топорен и просто позволяет описывать цели со стандартными свойствами. В 98% проектов абсолютно хватает стандартных средств. Для оставшихся можно немного расширений на том же хацкелле написать, чтобы сделать сборку интереснее.
Исходная версия hateyoufeel, :
Не должен – не пользуйся. Другим это удобно.
Да нет, в этом-то и проблема что неудобно. За исключением пары-тройки довольно редких случаев это просто не нужно. Зато позволяет превратить сборку проекта в сраный цирк с анал карнавалом.
DSL должен быть расширяемым, например, модулями, которые уже можно на любом языке писать. Но
- сам DSL всё ещё не должен быть Тьюринг-полным
- их использование должно быть сведено к минимумум