M# is a model-driven declarative programming language intended for developing data-focused .NET web applications at a quarter of the time. M# compiler will transform everything into complete standard ASP.NET MVC and C# project source code.

Is C# not enough?

In business applications there are common code patterns that repeat over and over. They are vast, yet slow and error-prone to write. Although similar, but they are not identical which is why code-reuse methods don't work there.
Learn more »

The M# philosophy

In conventional programming you have to explicitly specify "all the details" that form your application. The IDE and compiler are unaware of your "requirements" or "semantics" of what you want to achieve. So they can't help you much beyond simple intellisense.

The philosophy of M# is to program around common sense and semantics. Unlike traditional languages, with M# you start by specifying your intention as opposed to jumping into the "details". It will then fill in the details using its native understanding of:

  • Your project's domain model
  • Best practices for object-oriented programming
  • Domain-driven-design principals
  • Modern web UI standards, Html(5), Css, jQuery, etc
  • Common sense and usability conventions

For 90% of the details, you completely rely on the assumptions of M#. For the remaining 10%, you will simply lead M# by providing just enough "details" to make the final code a 100% match for your exact requirements with no workarounds or rework.

How does it work?

With M# you define 90% of the application declaratively at a higher level of abstraction, in a sixth of the time. For the remaining 10%, you write embeded  C# and ASP.NET natively within M#.
Learn more »

Declarative & Imperative

Imagine the best of the two paradigms combined: productivity of declarative programming, plus the flexibility of imperative languages.
That's where the magic of M# lies.
Learn more »