Domain Specific Languages
Jan. 19th, 2013 01:17 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Хорошая умеренно доступная работа про сабж. http://arxiv.org/pdf/cs/0409016v1.pdf, инглиш естессно.
Если коротко – автор последовательно проводит и обосновывает мысль, что специализированные языки программирования – благо и предлагает простенькую методику создания стека таких специальных языков. Автор кста небезызвестный технофашист Луговской, который оказался очень трезво и доходчиво излагающим мысли типом.
Так вот, под перечисленные фичи “базового языка” в главе 2 публикации просто безукоризненно подходит яваскрипт. А примеры из главы 5 на нём прекрасно переписываются (что неудивительно, создатель javascript держал в голове Scheme, язык примеров из монографии).
В жизни эта концепция в полный рост вживую и наблюдается. Регулярные выражения – наилучший пример. Это специализированный язык, который в своей предметной области – поиска по тексту – вытеснил все другие решения. Ещё вот библиотека jQuery – механика селекторов и плагинов, ей предоставляемая, тоже как раз реализация этой механики.
Хорошая концепция, я ей в общем пользуюсь во всю – плагины там, метаязыки для разбора текстов под задачу, платформа для веб-приложений с командной строкой в адресной строке браузера, то-сё.
Просто наткнулся на хорошее изложение. Ещё раз – Domain Specific Languages, 8 страниц всего.