"X Times Faster" has been promised, and failed before. Why should I believe M#?


Most programming today is still based on 3rd generation languages (3GL) such as C, Java, C#, etc, which were practically invented some 40 years ago. Ever since, people have been trying to automate programming and make it faster by creating 4th generation languages, model-based languages, code-generation, etc.

Even at some point it was imagined that programming will be redundant in the future, and business people will be able to define their desired systems using some high level tools such as UML. But none of these methods and tools have proven practical for real-world applications and hence didn't make it into the mainstream programming.

The reason for that is simple and it goes back to the famous Einstein quote "Everything should be made as simple as possible, but no simpler."

Any new language or tool has to be high level and simple in order to be faster than the current 3GL programming. The problem is that real world applications are inherently complex and contain elements that cannot be expressed with a simple or high level language.

There have been many 4GLs created in the past 20 years that seemed promising in their demos, to create basic applications. But when it came to real-world projects, their simplicity let them down.

M# approach

M# has done something different. It's a language, but not in a traditional sense. The magic of M# lies in its support for hybrid programming. The idea is simple: Use a high level (4GL) and low level (3GL) together to speed things up where possible (90% of the code) and at the same time have the full power and flexibility of normal programming (3GL). Too simple an idea, yet almost impossible to do. It took us 11 years and five architectural generations to finally get it right.

The difference is in the fact that M# actually works. 100s of complex applications have been successfully delivered using M# in very short time spans (see example), and M# adoption continues to grow.