The Meta-Programming System (MPS) is a new kind of tool called a language workbench that simply stated makes it easier and more fun to write programs. With traditional programming, it is common to choose one programming language to solve a problem and being limited by this choice. When working with MPS you can use and combine different languages to solve a problem. You can also create simple languages (e.g., Domain Specific Languages) or extend existing ones when the languages available do not exactly meet the evolving needs of the problem at hand. The languages that you create with MPS will integrate nicely with languages developed by others.
MPS is open-source and can be obtained from http://jetbrains.com/mps or http://github.com/JetBrains/MPS. This book explains the MPS programming paradigm and gradually introduces the reader to the many features of the MPS platform. This book may yet be the simplest way to discover the MPS language workbench and the powerful new approach to programming that this tool offers.
The third edition of this book describes MPS 3.3.
Fabien Campagne, PhD, is the head of a scientific laboratory working in the field of Bioinformatics. His laboratory develops computational approaches to help manage and analyze biological data (http://campagnelab.org). Over the years, Dr. Campagne has led the development of several large-scale bioinformatics systems that take advantage of a wide range of software engineering and programming techniques. Dr. Campagne is routinely evaluating new approaches to software engineering and programming that can help his laboratory develop bioinformatics software more efficiently. He wrote this book because he found the MPS Language Workbench a very powerful open-source tool for programming and system design, which lacked a well-designed and accessible introductory and reference textbook.