M Sharp

Last updated

M#
Msharp logo.png
Paradigm multi-paradigm: structured, object-oriented, event-driven, procedural, meta
Designed by Geeks ltd.
Developer Geeks ltd.
First appeared2012
Typing discipline static, dynamic
License proprietary
Website http://www.msharp.co.uk/
Major implementations
Visual C#, .NET Framework, ASP.NET, Domain-specific language

M# (pronounced em sharp) is a code generation tool and a domain-specific language that can be used to create websites and web applications. [1] It can translate entities and page definitions to ASP.NET Web Forms and MVC and C# code which in turn form the user interface and business logic layer of the application. Its main goals are to reduce time of development, increase code quality, and reduce human errors. [2]

Contents

Name

M# generates codes that is mainly in the C# programming language. Because the "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 for creating ASP.Net WebForms and Visual Studio for Creating ASP.Net MVC projects. Inside the IDE, 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:

Content-block-msharp.png


And the same form in the Visual Studio would be like the following.


ContentBlockFormExample.png


Internally, M# IDE keeps this module definition as a JSON file. 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.

New versions of M# are integrated with Microsoft Visual Studio.

Related Research Articles

AutoLISP is a dialect of the programming language Lisp built specifically for use with the full version of AutoCAD and its derivatives, which include AutoCAD Map 3D, AutoCAD Architecture and AutoCAD Mechanical. Neither the application programming interface (API) nor the interpreter to execute AutoLISP code are included in the AutoCAD LT product line. A subset of AutoLISP functions is included in the browser-based AutoCAD web app.

Visual Basic .NET Object-oriented computer programming language

Visual Basic, originally called Visual Basic .NET (VB.NET), is a multi-paradigm, object-oriented programming language, implemented on .NET, Mono, and the .NET Framework. Microsoft launched VB.NET in 2002 as the successor to its original Visual Basic language, the last version of which was Visual Basic 6.0. Although the ".NET" portion of the name was dropped in 2005, this article uses "Visual Basic [.NET]" to refer to all Visual Basic languages released since 2002, in order to distinguish between them and the classic Visual Basic. Along with C# and F#, it is one of the three main languages targeting the .NET ecosystem. As of March 11, 2020, Microsoft announced that evolution of the VB.NET language has concluded.

Clarion is a commercial, proprietary, fourth-generation programming language (4GL), multi-paradigm, programming language and integrated development environment (IDE) from SoftVelocity used to program database applications. It is compatible with indexed sequential access method (ISAM), Structured Query Language (SQL), and ActiveX Data Objects (ADO) data access methods, reads and writes several flat file desktop database formats including ASCII, comma-separated values (CSV), DOS (binary), FoxPro, Clipper, dBase, and some relational databases via ODBC, Microsoft SQL Server, Sybase SQL Anywhere, and Oracle Database through the use of accelerated native database drivers, and XML, Clarion can be used to output to HTML, XML, plain text, and Portable Document Format (PDF), among others.

ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages. It was developed by Microsoft to allow programmers to build dynamic web sites, applications and services. The name stands for Active Server Pages Network Enabled Technologies.

Microsoft Visual Studio Express Integrated development environment

Microsoft Visual Studio Express is a set of integrated development environments (IDEs) that Microsoft developed and released free of charge. They are function-limited version of the non-free Visual Studio and require mandatory registration. Express editions started with Visual Studio 2005.

Graphical user interface builder Software development tool

A graphical user interface builder, also known as GUI designer or sometimes RAD IDE, is a software development tool that simplifies the creation of GUIs by allowing the designer to arrange graphical control elements using a drag-and-drop WYSIWYG editor. Without a GUI builder, a GUI must be built by manually specifying each widget's parameters in source-code, with no visual feedback until the program is run. Such tools usually called the term RAD IDE.

SharpDevelop

SharpDevelop is a discontinued free and open source integrated development environment (IDE) for the .NET Framework, Mono, Gtk# and Glade# platforms. It supports development in C#, Visual Basic .NET, Boo, F#, IronPython and IronRuby programming languages.

C# and Visual Basic .NET are the two primary languages used to program on the .NET Framework.

Visual Basic (classic) Event-driven programming language

The original Visual Basic is a third-generation event-driven programming language from Microsoft known for its Component Object Model (COM) programming model first released in 1991 and declared legacy during 2008. Microsoft intended Visual Basic to be relatively easy to learn and use. Visual Basic was derived from BASIC and enables the rapid application development (RAD) of graphical user interface (GUI) applications, access to databases using Data Access Objects, Remote Data Objects, or ActiveX Data Objects, and creation of ActiveX controls and objects.

TypeScript is a free and open source programming language developed and maintained by Microsoft. It is a strict syntactical superset of JavaScript and adds optional static typing to the language. It is designed for the development of large applications and transpiles to JavaScript. As it is a superset of JavaScript, existing JavaScript programs are also valid TypeScript programs.

ASP.NET MVC is a web application framework developed by Microsoft that implements the model–view–controller (MVC) pattern. It is no longer in active development. It is open-source software, apart from the ASP.NET Web Forms component, which is proprietary.

<span class="mw-page-title-main">Microsoft Visual Studio</span> Code editor and IDE

Microsoft Visual Studio is an integrated development environment (IDE) from Microsoft. It is used to develop computer programs, as well as websites, web apps, web services and mobile apps. Visual Studio uses Microsoft software development platforms such as Windows API, Windows Forms, Windows Presentation Foundation, Windows Store and Microsoft Silverlight. It can produce both native code and managed code.

Web2py is an open-source web application framework written in the Python programming language. Web2py allows web developers to program dynamic web content using Python. Web2py is designed to help reduce tedious web development tasks, such as developing web forms from scratch, although a web developer may build a form from scratch if required.

Text Template Transformation Toolkit is a free and open-source template-based text generation framework. T4 source files are usually denoted by the file extension ".tt".

ActiveReports Data Visualization tool for .NET application developers

ActiveReports is a .NET reporting tool used by developers of .NET, MVC, JavaScript, WinForms, and ASP.NET applications. It was originally developed by Data Dynamics, which was then acquired by GrapeCity. ActiveReports is a set of components and tools that facilitates the production of reports to display data in documents and web-based formats. It is written in managed C# code and allows Visual Studio programmers to leverage their knowledge of C# or Visual Basic.NET when programming with ActiveReports.

Spring Roo Open-source software tool

Spring Roo is an open-source software tool that uses convention-over-configuration principles to provide rapid application development of Java-based enterprise software. The resulting applications use common Java technologies such as Spring Framework, Java Persistence API, Thymeleaf, Apache Maven and AspectJ. Spring Roo is a member of the Spring portfolio of projects.

The Accelerator is a collection of development solutions for IBM i and Windows platforms using .NET Framework, and/or LANSA, technologies provided by Surround Technologies. The Accelerator development architecture is a tool for building Windows and Web apps within a structured framework.

CodeCharge Studio

CodeCharge Studio is a rapid application development (RAD) and integrated development environment (IDE) for creating database-driven web applications. It is a code generator and templating engine that separates the presentation layer from the coding layer, with the aim of allowing designers and programmers to work cohesively in a web application.

ASP.NET Web Forms is a web application framework and one of several programming models supported by the Microsoft ASP.NET technology. Web Forms applications can be written in any programming language which supports the Common Language Runtime, such as C# or Visual Basic. The main building blocks of Web Forms pages are server controls, which are reusable components responsible for rendering HTML markup and responding to events. A technique called view state is used to persist the state of server controls between normally stateless HTTP requests.

References

  1. "The end of offshoring?". Business Reporter. Archived from the original on 2013-03-10.
  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.