DotGNU Project - GNU Freedom for the Net








Acronyms Explained

Acronmyns related to Portable.NET

A compiler collection which can compile C and C# to IL or Java bytecode. This is part of DotGNU Portable.NET
Intermediate Language. This is the bytecode format that is used to represent compiled programs. It has sufficient instructions to support many programming languages, including C#.
Common Intermediate Language. This term is used in the ECMA standards. Prior to ECMA standardization, it was known as IL. We use the two acronyms interchangeably.
Microsoft Intermediate Language. This is exactly the same as CIL, but some media reports have called it "MSIL" for some reason.
Common Type System. The standard type system that is used to represent programming language constructs such as objects and types. A language doesn't have to use the CTS, but doing so improves interoperability.
Common Language Specification. A set of conventions for types and libraries that promote interoperability between programming languages.
Common Language Runtime. The engine that executes CIL programs. In DotGNU Portable.NET's case, this is the "ilrun" program.
Common Language Infrastructure. The complete system, comprising CIL, CTS, CLS, and CLR.
Java Virtual Machine. The bytecode system of the Java language.
Pronounced "C-Sharp". The primary programming language that is used with the CLI, but by no means the only such language.
Portable Executable / Common Object File Format. This is the binary format used by the 32-bit Microsoft Windows system to represent compiled applications. The CLI extends PE/COFF with new sections containing CIL definitions.
European Computer Manufacturer's Association. The standards body that Microsoft has chosen to standardize CLI. The standards are here:
http://www.ecma-international.org/publications/standards/ECMA-334.HTM (C#)
http://www.ecma-international.org/publications/standards/ECMA-335.HTM (CLI).
If you wish to contribute to the C# library, you will also need the following file: ftp://ftp.ecma.ch/ecma-st/Ecma-335-xml.zip. Unpack this zip file and then use the "csdoc2html" program (which you can find in the csdoc directory of the pnet package of DotGNU Portable.NET) DotGNU to convert the XML file into HTML, so that you can view its contents more easily. ECMA specifies the bare minimum necessary to get a Common Language Runtime (CLR) to work. However, this bare minimum is not very useful for realistic C# applications. Microsoft's .NET Framework SDK contains a lot more classes in its base class libraries. Because we wish to be (more or less) compatible with Microsoft's .NET offerings, we have to provide more than what ECMA specifies.
The GNU Compiler Collection, which currently contains front ends for C, C++, Objective-C, Fortran, Java, and Ada, as well as libraries for these languages. GCC is good for creating native code for register-based CPU's, but adapting it to generate IL bytecode would not be an easy task. (The right way to do it would be to add, besides the "Register Transfer language" which is used internally in gcc, in addition a "Stack Transfer Language" (STL), that passes all languages through a separate code generator that knows about stack machines. Then we can write STL back-ends for IL and JVM bytecode. Both gcj (the GNU compiler for Java) and DotGNU would benefit from this.)

Acronmyns related to DotGNU webservices

The Resource Description Framework, a W3C recommendation.
The Friend of a Friend (FOAF) RDF vocabulary is described using W3C RDF Schema and the Web Ontology Language.
The DotGNU Execution Environment.

You are invited to add your comments concerning this at the appropriate page of the DotGNU Wiki




Verbatim copying and distribution of this entire article are permitted in any medium or format, provided this notice is preserved.

This page is maintained by Norbert Bollow <nb@SoftwareEconomics.biz> with support from the DotGNU Developers mailing list.