Jump to content

M Sharp

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by BattyBot (talk | contribs) at 01:31, 4 December 2016 (→‎top: General fixes, removed orphan tag using AWB). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

M#
Paradigmmulti-paradigm: structured, object-oriented, event-driven, procedural, meta
Designed byGeeks ltd.
DeveloperGeeks ltd.
First appeared2012
Typing disciplinestatic, dynamic
Licenseproprietary
Websitehttp://www.msharp.co.uk/
Major implementations
Visual C#, .NET Framework, ASP.NET, Domain-specific language

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.[1] 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.

Design goals

According to its official website[2] 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.[3]

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.[4] 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:

A form module

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

  1. ^ "The end of offshoring?". Business Reporter.
  2. ^ "Why M#?". Retrieved 18 May 2013.
  3. ^ Modelling languages for the "Solution Domain"; Productivity rules!. Code Generation. 2011.
  4. ^ "Understanding M#". Retrieved 26 May 2013.