Girish Mahajan (Editor)

M Sharp

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Designed by
  
Geeks ltd.

First appeared
  
2012

License
  
proprietary

Developer
  
Geeks ltd.

Typing discipline
  
static, dynamic


Paradigm
  
multi-paradigm: structured, object-oriented, event-driven, procedural, meta

M# (pronounced em sharp) is a code generation tool that is being marketed as a Domain-specific language that can be used to create Websites and Web Applications and its main goal is to reduce the time necessary for creating these by hand. M# "language" acts as a Code generator and translates entities and page definitions to ASP.NET Web Forms and C# code which in turn form the User interface and Business logic layer of the application.

Contents

Design goals

According to its official website these are the motivations behind creating M#:

  • Reducing time of development
  • Better quality code
  • Reduced human errors
  • Name

    M# generates codes that is mainly in the C# programming language. Since "sharp" suffix has been used by a number of other .NET languages, M# followed the same convention.

    Syntax

    M# uses its own IDE which is a web-based application. Inside that a user can type, select from suggestions (Intelli-sense) or use the mouse to define the entities or user interface modules. An example would be a form module that has two buttons (Cancel and Save) and displays a Key and a Text field. The Key field is read-only and the Save button adds a content block to the database:

    Internally M# keeps this module definition as an JSON file (metadata) and at the time of a build it will generate C#, ascx and ascx.cs files. From that moment XML or M# is not necessary to render the module or to be installed on the machines that will serve the page.

    References

    M Sharp Wikipedia