The Common Language Infrastructure (CLI) is an open specification developed by Microsoft and standardized by ISO and ECMA that describes executable code and a runtime environment that allow multiple high-level languages to be used on different computer platforms without being rewritten for specific architectures. The .NET Framework and the free and open source Mono and Portable.NET are implementations of the CLI.
Among other things, the CLI specification describes the following four aspects:
All compatible languages compile to Common Intermediate Language (CIL), which is an intermediate language that is abstracted from the platform hardware. When the code is executed, the platform-specific VES will compile the CIL to the machine language according to the specific hardware and operating system.
In August 2000, Microsoft, Hewlett-Packard, Intel, and others worked to standardize CLI. By December 2001, it was ratified by the ECMA, with ISO standardization following in April 2003.
Ecma International is an international private (membership-based) non-profit standards organization for information and communication systems. It acquired its current name in 1994, when the European Computer Manufacturers Association (ECMA) changed its name to reflect the organization's global reach and activities. As a consequence, the name is no longer considered an acronym and no longer uses full capitalization.
The organization was originally founded in 1961 to standardize computer systems in Europe. Membership is open to large and small companies worldwide that produce, market or develop computer or communication systems, and have interest and experience in the areas addressed by the group's technical bodies. It is located in Geneva.
Ecma aims to develop standards and technical reports to facilitate and standardize the use of information communication technology and consumer electronics; encourage the correct use of standards by influencing the environment in which they are applied; and publish these standards and reports in electronic and printed form. Ecma publications, including standards, can be freely copied by all interested parties without copyright restrictions. The development of standards and technical reports is done in co-operation with the appropriate national, European and international organisations.
The Application Programming Interface for Windows (APIW) Standard is a specification of the Microsoft Windows 3.1 API drafted by Willows Software. It is the successor to previously proposed Public Windows Interface standard. It was created in an attempt to establish a vendor-neutral, platform-independent, open standard of the 16-bit Windows API not controlled by Microsoft.
By the end of 1990, Windows 3.0 was the top-selling software. The various graphical Windows applications had already started to reduce training time and enhance productivity on personal computers. At the same time, various Unix and Unix-based operating systems dominated technical workstations and departmental servers. The idea of a consistent application environment across heterogeneous environments was compelling to both enterprise customers and software developers.
On May 5, 1993, Sun Microsystems announced Windows Application Binary Interface (WABI), a product to run Windows software on Unix, and the Public Windows Interface (PWI) initiative, an effort to standardize a subset of the popular 16-bit Windows APIs. They proposed PWI to various companies and organizations including X/Open, IEEE and Unix International. The previous day, Microsoft had announced SoftPC, a Windows to Unix product created by Insignia Solutions as part of a program where Microsoft licensed their Windows source code to select third parties, which in the following year became known as Windows Interface Source Environment (WISE). Later that month, Microsoft also announced Windows NT, a version of Windows designed to run on workstations and servers.
ECMAScript (or ES) is a trademarkedscripting-language specification standardized by Ecma International in ECMA-262 and ISO/IEC 16262. Well-known implementations of the language, such as JavaScript, JScript and ActionScript have come into wide use for client-side scripting on the Web.
The ECMAScript specification is a standardized specification of a scripting language developed by Brendan Eich of Netscape; initially it was named Mocha, later LiveScript, and finally JavaScript. In December 1995, Sun Microsystems and Netscape announced JavaScript in a press release. In March 1996, Netscape Navigator 2.0 was released, featuring support for JavaScript.
Owing to the widespread success of JavaScript as a client-side scripting language for Web pages, Microsoft developed a compatible dialect of the language, naming it JScript to avoid trademark issues. JScript added new date methods to alleviate the Year 2000 problem caused by the JavaScript methods that were based on the Java Date class. JScript was included in Internet Explorer 3.0, released in August 1996.