In its search for ways to help developers work more effectively and overcome the limitations of programming languages, JetBrains has developed an approach that consists of extending existing languages to create more domain-oriented ones, which enables programs to be written on a higher level and in a manner that is hopefully more natural to those domains.
The extension is achieved by allowing language constructs to be created as easily as creating classes or methods in a conventional language. This style of programming, i.e. creating specialised languages, using them to develop software, and extending them as and when required, is called Language Oriented Programming (LOP).
MPS is an environment for creating custom languages and using them to develop programs. MPS can also be used to create Domain Specific Languages (DSLs). Domain experts who are not familiar with programming can then use DSLs created with MPS to build applications. It can be used to define language typesystems, constraints and specialised editors using a generative approach: languages are described on a higher level, and MPS generates code in other languages, particularly Java.
MPS is a free product with most of its source code available under Apache 2.0 licence.
Comments