I have used Eclipse Xtext in several projects. I loved the ease of defining a grammar over an Ecore (meta)model and letting everything generated for you including awesome Eclipse plugin editor, but I was quite uncomfortable with the underlying EMF framework with everything hard-wired in static fields.
Lately I came across Jetbrains' MPS (Meta Programming System). It's based on completely different philosophy. While Xtext is for creating text-based DSLs generating a parser for you (and instantiating those EObjects), in MPS-created language one edits directly underlying model structure. So far I get it.
Has anybody experience with both those DSL tools to point out the main differences in terms of working with them, intended use cases and audience, complexity, learning curve (to be honest, to start using Xtext one should know quite a lot about EMF's guts), code generation etc?