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

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

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

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

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

[identity profile] lionet.livejournal.com 2010-03-24 10:26 am (UTC)(link)
Cпроси [livejournal.com profile] plumqqz, у него богатый опыт. Он подскажет, как правильно [относиться].

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

Честно говоря, не вижу ужаса

[identity profile] plumqqz.livejournal.com 2010-03-24 12:33 pm (UTC)(link)
Ну генерится и генерится, почему бы и нет? Что тут рукоблудного, собственно?

Re: Честно говоря, не вижу ужаса

[identity profile] metaclass.livejournal.com 2010-03-24 12:37 pm (UTC)(link)
Функциональщина и демонстративное нежелание делать то что требуется по заданию. Стыдно! :)

Re: Честно говоря, не вижу ужаса

[identity profile] plumqqz.livejournal.com 2010-03-24 12:40 pm (UTC)(link)
Функциональщина - действительно стыдно. Собственно генерация - ни капельки.

Re: Честно говоря, не вижу ужаса

[identity profile] permea-kra.livejournal.com 2010-03-24 05:36 pm (UTC)(link)
Почему ?

Re: Честно говоря, не вижу ужаса

[identity profile] plumqqz.livejournal.com 2010-03-24 05:44 pm (UTC)(link)
Что почему? Почему не вижу ужаса, почему функциональщина - это стыдно или почему генерация?

Re: Честно говоря, не вижу ужаса

[identity profile] permea-kra.livejournal.com 2010-03-24 05:45 pm (UTC)(link)
второе

Re: Честно говоря, не вижу ужаса

[identity profile] plumqqz.livejournal.com 2010-03-24 05:55 pm (UTC)(link)
Потому что это хамство по отношению к тому человеку, который будет поддерживать фунциональную софтинку после автора. "Я тут поразвлекался, а что ты заебешься - мне похуй". Вроде как нассать в чужом лифте, примерно то же самое.

Re: Честно говоря, не вижу ужаса

[identity profile] metaclass.livejournal.com 2010-03-24 06:53 pm (UTC)(link)
Это хамство по отношению к клиентам и начальству, которых душит жаба купить 10 обычных программистов. Будут покупать психов, поиском через мой ЖЖ. Ну или купят таки 20-30 и перепишут заново.

[identity profile] jamhed.livejournal.com 2010-03-24 10:33 am (UTC)(link)
Аналогичное ощущение. Может быть оно и верное.

[identity profile] aamonster.livejournal.com 2010-03-24 10:38 am (UTC)(link)
Перечитать Александреску, попытаться сделать то же самое на темплейтах. После появления убежденности "они все сумасшедшие" - полчасика отдохнуть и заняться простой кодогенерацией, она будет приносить радость.

[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 программе-читалке голосом, и пусть она отвечает пользователям.

[identity profile] norian.livejournal.com 2010-03-24 12:31 pm (UTC)(link)
сделать дсл генератор - достойная задача, использовать его самому - нет, лучше отдать какому-нть студенту

[identity profile] komarov.livejournal.com 2010-03-24 07:00 pm (UTC)(link)
может, пора уже выдать на рынок продукт, который позволит генерить всем остальным тоже