title: What are the main differences between Jetbrains' MPS and Eclipse Xtext?
body: <p>I have used <a href="http://www.eclipse.org/Xtext/" rel="noreferrer">Eclipse Xtext</a> 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 <a href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf" rel="noreferrer">EMF framework</a> with everything hard-wired in static fields.</p>
  
  <p>Lately I came across Jetbrains' <a href="http://www.jetbrains.com/mps/index.html" rel="noreferrer">MPS (Meta Programming System)</a>. 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.</p>
  
  <p>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?</p>