| DSL для пользовательских задач | Оценить ![]() ![]() ![]() ![]() ![]() ![]() |
| От: | dmz | |
| Дата: | 28.12.08 09:19 | |
| Оценка: | 2 (1) | |
| Не уверен, что это подходит в декларативное программирование... Больше нестройных размышлений, чем по сути. Вот интересно, есть ли шанс у DSL использоваться для задач конечных пользователей? Есть ли какие-то успешные примеры такого рода? Мне известно несколько таких DSL, но насколько я могу судить, они не очень-то выживают. Примеры из жизни: TaskJuggler — планирование проектов.
Лично я использую, но неудержимо тянет написать свое, с блекджеком и прочим. Раздражает слишком развесистый синтаксиси отсутствие некоторых функций. Вот еще пример — Faces, тоже, для того же, но базе питона — чем-то даже лучше TJ, но прибит гвозями к GUI, а GUI стремный и глючный.
Вот еще пример — уже собственный DSL — планирование рейсов:
По результатам обсуждения с людьми, близкими по менталитету к заказчикам продукта, пришлось отказаться от предоставления пользователю возможности редактировать DSL напрямую, так что DSL сериализуется в XML/DOM, из него на клиенте генерируется динамическая форма, которая при самбите обходится и по которой генерируется все тот же DSL, но уже измененный. Но сам DSL фактически пропал раз пользователю недоступен — можно было и тупо XML туда-сюда гонять. Лично я по поводу этого решения испытываю сожаление — по моему, довольно стройная получалась в начале концепция. Это я к чему. Есть ли у вас живые успешные примеры DSL, который рассчитан на редактирование конечными пользователями систем (не разработчиками) ? Просто хочется иметь какое-то количество решений для домашнего и не очень применения — планирование проектов, построение roadmap-ов, управление сметами/бюджетами и т.п. Без GUI — задачи редуцируются до достаточно примитивных утилит — которые на входе получают текст на DSL с описанием, на выходе — отчет в каком-то виде. Интересно, может ли у таких продуктов быть вообще В ПРИНЦИПЕ немаргинальная аудитория? Видите ли вы перспективы в использовании подобного подхода? Ну и вообще... |