Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


What is Language Oriented Programming?

The term language oriented programming has been coined by Sergey Dmitriev, the CEO of JetBrains and "father" of MPS in a 2004 article called <a href="">Language Oriented Programming: The Next Programming Paradigm</a>. Other people have come up with related approaches, usually under different names; a primary example is Charles Simonyi and his Intentional Programming approach, and Martin Fowler has described the approach in his 2005 article <a href="">Language Workbenches: The Killer-App for Domain Specific Languages?</a>.

The core idea is that we don't just use one language when developing software, but rather use those languages that fit the task. In contrast to polyglot programming which on the surface advocates a similar approach, language oriented programming expressly encourages developers to build their own DSLs, or to extend existing languages with domain-specific concepts as part of the approach. Developing a new language should become an integral part of software development and not left to the Übergeeks. To make this feasible, languages workbenches such as MPS are an important ingredient.

Why do I want to extend a language? Aren't libraries good enough?

Projectional Editing

What is Projectional Editing?


How about Eclipse Integration?

Why do I want to extend a language? Aren't libraries good enough?

How can I get support?

How does MPS compare to other language workbenches?