metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2013-05-15 04:33 pm

Ад спортивных программистов?

http://dev.by/blogs/main/kuda-uhodyat-chempiony-sportivnogo-programmirovaniya
"НТ ООО «ЛюксСофт». Инженер-программист. В последнее время занимаюсь разработкой предметно-ориентированного языка программирования для нашего продукта."

За разработку самодельных встроенных языков надо отправлять добывать уран, самодельными ломами и лопатами.

[identity profile] blacklion.livejournal.com 2013-05-15 08:25 pm (UTC)(link)
И, кстати, добавить eDSL без кровываых ошмётков ради удовлетворения не нами придуманного синтаксиса обычно удаётся в Хаскеле. И я вполне знаю человека, который на этом колбасит коммерческий куод именно в таком стиле — eDSL под задачу, а дальше это выглядит как срипт на оченьт специальном но СРАЗУ ПОНЯТГНОМ языке. Нужен конечный автомат? Вот пролог, а вот конечный автомат скопированный из описанния протокола как етсь (И ставшщий КОДОМ, который проверяется на типы, компилируется, оптимизируется и всё это забесплатно практически). Нужен парсер? Вот пролог, а вот грамматика в EBNF, прямо как в стандарте на формат, копипастом из документации в код скопированная. И так далее.

[identity profile] justy-tylor.livejournal.com 2013-05-15 09:14 pm (UTC)(link)
Хаскель в синтаксическом плане хорош. Но для продвинутых программистов. Я бы не доверил специалисту-предметнику на нём писать (а потом бегать с логами ошибок компиляции).

[identity profile] thesz.livejournal.com 2013-05-16 11:07 am (UTC)(link)
Ошибки там типические.

То есть, "если вот такое сообщение, то ты вот тут сделал не так". Достаточно завести словарик таких ошибок.
ext_646638: (Default)

[identity profile] rdia.livejournal.com 2013-05-20 03:19 pm (UTC)(link)
Чисто в целях просвещения меня - а сразу добавить этот словарик в компилятор нельзя?

[identity profile] thesz.livejournal.com 2013-05-20 03:43 pm (UTC)(link)
Нет.

Это же специфично для каждого конкретного встроенного языка.
ext_646638: (Default)

[identity profile] rdia.livejournal.com 2013-05-20 04:54 pm (UTC)(link)
А-аа! Спасибо!