metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2010-03-24 12:12 pm

Неадекватные являния в ИТ, ака мозгоблудство

Каждый раз когда я использую DSL и кодогенерацию, у меня возникает мозговой ступор от ощущения, что я занимаюсь чем-то постыдным и греховным. Как будто у ребенка конфету отнимаю, или там толкаю хромого деда с палочкой на льду, чтобы он упал.

Это при том, что реально альтернативы нет, т.к. вариант "все то же самое сделать вручную" не масштабируем на мои задачи - нету 10 людей, которым можно было бы поставить задачу "садишся и в лоб делаешь таблицу из 20 полей, запросы для нее, валидаторы, GUI и печатную форму". А есть очень много повторяющихся кусков кода и общая структура, которая просто располагает к тому, чтобы это все сгенерить из модели.

Но ощущение неадекватности не пропадает.

[identity profile] alexott.livejournal.com 2010-03-24 10:39 am (UTC)(link)
при этом ты этим 10 людям будешь все рассказывать до мелочей...
нафиг-нафиг такое, я лучше напишу DSL :-)

[identity profile] metaclass.livejournal.com 2010-03-24 10:41 am (UTC)(link)
И таки да, все нужно расписывать до мелочей.
Но: потом когда звонят юзера - разбираться будут эти люди, а я буду хаскель спокойно дрочить в отдельном изолированном помещении. А с DSL - разбираться придется мне, отрываясь от хаскеля :)

[identity profile] alexott.livejournal.com 2010-03-24 10:48 am (UTC)(link)
ну никто не мешает научить народ DSL'ю - это часто проще, чем склеивать работу 10 человек в один продукт

[identity profile] metaclass.livejournal.com 2010-03-24 10:50 am (UTC)(link)
DSL резко становится сложнее, если его подгонять под обычных разработчиков.

[identity profile] alexott.livejournal.com 2010-03-24 10:54 am (UTC)(link)
ну это от предметной области зависит...

[identity profile] permea-kra.livejournal.com 2010-03-24 12:09 pm (UTC)(link)
Сделайте eDSL в хаскеле...

[identity profile] metaclass.livejournal.com 2010-03-24 12:14 pm (UTC)(link)
Оно на F#, в целях интеграции с внешним миром )

[identity profile] permea-kra.livejournal.com 2010-03-24 12:49 pm (UTC)(link)
Дык какая разница, откуда код генерить? Или оно обязательно должно в рантайме должно работать?
ext_659950: (Default)

[identity profile] perplexed-bear.livejournal.com 2010-03-24 12:32 pm (UTC)(link)
А ты скорми DSL программе-читалке голосом, и пусть она отвечает пользователям.