Я использовал Eclipse Xtext в нескольких проектах. Мне нравилась простота определения грамматики поверх (мета)модели Ecore и возможность генерировать все для вас, включая потрясающий редактор плагинов Eclipse, но мне было очень некомфортно с базовым фреймворк EMF со всем, что жестко привязано к статическим полям.
Недавно я наткнулся на MPS (систему метапрограммирования) от Jetbrains. Он основан на совершенно другой философии. В то время как Xtext предназначен для создания текстовых DSL, генерирующих парсер для вас (и инстанцирующих эти EObject), в языке, созданном MPS, редактируется непосредственно базовая структура модели. Пока я понимаю.
Есть ли у кого-нибудь опыт работы с обоими этими инструментами DSL, чтобы указать на основные различия с точки зрения работы с ними, предполагаемые варианты использования и аудиторию, сложность, кривую обучения (честно говоря, чтобы начать использовать Xtext, нужно довольно много знать о внутренностях EMF) , генерация кода и т.д.?