Докладчик из самой, вероятно, известной российской (условно) фирмы-производителя ПО рассказывал про среду разработки DSL, которая называется MPS (Meta Programming System).
Я пришел не с начала, может быть поэтому мне показалось, что автор так и не смог объяснить, как же оно работает. Мое понимание основано скорее на чтении сайта JetBrains. Поэтому — только несколько отрывочных тезисов.
Пример с интерполяцией (подстановкой) строк:
Расширения 1:
int SomeCount = 1; var message = "Count is [SomeCount]";
Расширение 2:
int SomeCount = 1; var message = "Count is %[SomeCount]"
Как работают в MPS?
Основной целевой язык для MPS — конечно Java, хотя сейчас также поддерживаются CSS, XML, JavaScript. Флагманский продукт на MPS — приятный баг-трекер YouTrack
Докладчик сказал, что привыкание к программированию в MPS занимает около 3 недель.
Из всех наших проектов единственным явным кандидатом на применение является GL-XML