FACTOID # 14: If you like kids, then Uganda might be the place for you. Half the population is under 15!
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > Common Intermediate Language

Common Intermediate Language (CIL, pronounced either "sill" or "kill") (formerly called Microsoft Intermediate Language or MSIL) is the lowest-level human-readable programming language in the Common Language Infrastructure and in the .NET Framework. Languages which target the .NET Framework compile to CIL, which is assembled into bytecode. CIL resembles an object-oriented assembly language, and is entirely stack-based. It is executed by a virtual machine. The primary .NET languages are C#, Visual Basic .NET, C++/CLI, and J#. Human-readable refers to a representation of information that can be naturally read by humans. ... A programming language is an artificial language that can be used to control the behavior of a machine, particularly a computer. ... Visual overview of the Common Language Infrastructure (CLI) The Common Language Infrastructure (CLI) is an open specification developed by Microsoft that describes the executable code and runtime environment that form the core of the Microsoft . ... The Microsoft . ... Bytecode is a binary representation of an executable program designed to be executed by a virtual machine rather than by dedicated hardware. ... Object-oriented programming (OOP) is a computer programming paradigm in which a software system is modeled as a set of objects that interact with each other. ... See the terminology section, below, regarding inconsistent use of the terms assembly and assembler. ... To meet Wikipedias quality standards, this article or section may require cleanup. ... In computer science, a virtual machine is software that creates a virtualized environment between the computer platform and its operating system, so that the end user can operate software on an abstract machine. ... C# (pronounced see-sharp) is an object-oriented programming language developed by Microsoft as part of their . ... Visual Basic . ... C++/CLI (Common Language Infrastructure) is the newer language specification due to supersede Managed Extensions for C++. Completely reviewed to simplify the older Managed C++ syntax, it provides much more clarity over code readability than Managed C++. C++/CLI is standardized by ECMA. It is currently only available on Visual... The J# (pronounced J-sharp) programming language is a transitional language for programmers of Suns Java and Microsofts J++ languages, so they may use their existing knowledge, and applications on Microsofts . ...


CIL was originally known as Microsoft Intermediate Language (MSIL) during the beta releases of the .NET languages. Due to standardization of C# and the Common Language Infrastructure, the bytecode is now officially known as CIL. Because of this legacy, CIL is still frequently referred to as MSIL, especially by long-standing users of the .NET languages.

Contents

General information

During compilation of .NET programming languages, the source code is translated into CIL code rather than platform or processor-specific object code. CIL is a CPU- and platform-independent instruction set that can be executed in any environment supporting the .NET framework. CIL code is verified for safety during runtime, providing better security and reliability than natively compiled binaries. A programming language is an artificial language that can be used to control the behavior of a machine, particularly a computer. ... Source code (commonly just source or code) is any series of statements written in some human-readable computer programming language. ... In computer science, object file or object code is an intermediate representation of code generated by a compiler after it processes a source code file. ... CPU can stand for: in computing: Central processing unit in journalism: Commonwealth Press Union in law enforcement: Crime prevention unit in software: Critical patch update, a type of software patch distributed by Oracle Corporation in Macleans College is often known as Ash Lim. ...


Just-In-Time (JIT) Compilation

Just-in-time compilation involves the byte-code being turned into code immediately executable by the CPU. The conversion is performed gradually during the program's execution. JIT compilation provides environment-specific optimization, runtime type safety, and assembly verification. To accomplish this, the JIT compiler examines the assembly metadata for any illegal accesses and handles violations appropriately. For other uses, see Just In Time. ...


NGEN (Native Image Generator) Compilation

NGEN produces a native binary image for the current environment. The byte-code is either skipped entirely or converted into native CPU instructions completely before runtime. This eliminates the JIT overhead at the expense of portability; whenever an NGEN-generated image is run in an incompatible environment, .NET framework automatically reverts to using JIT.


Once NGEN is run against an assembly, the resulting native image is placed into the Native Image Cache for use by all other .NET assemblies. It is advised that NGEN is run during applications' deployment.


Metadata

Metadata is information about the compiled classes. It serves the same purpose as a type library in COM. Metadata enables applications to support and discover the interfaces, classes, types, methods, and fields in the assembly. The process of reading metadata is called reflection. Metadata is data about data. ... Component Object Model (COM) is a platform for software componentry introduced by Microsoft in 1993. ... In computer science, reflection is the process by which a computer program of the appropriate type can be modified in the process of being executed, in a manner that depends on abstract features of its code and its runtime behavior. ...


Executing CIL

  • Source code is converted to Common Intermediate Language and an assembly is created.
  • Upon execution of a .NET assembly, its CIL is passed through the Common Language Runtime's JIT compiler to generate native code. (NGEN compilation eliminates this step at run time.)
  • The native code is executed by the computer's processor.

In the Microsoft . ... The Common Language Runtime (CLR) is the virtual machine component of Microsofts . ...

See also

This article is being considered for deletion in accordance with Wikipedias deletion policy. ...

External links


  Results from FactBites:
 
Common Intermediate Language - Wikipedia, the free encyclopedia (202 words)
Languages which target the.NET Framework compile to CIL, which is assembled into bytecode.
CIL resembles an object oriented assembly language, and is entirely stack-based.
The primary.NET languages are C#, Visual Basic.NET, C++/CLI, and J#.
.NET Framework For Java Programmers (4264 words)
Common Intermediate Language (CIL) and therefore it's Microsoft rendering called Microsoft intermediate language (MSIL) is said to be a CPU independent set of instructions that can be efficiently converted to native code.
Before Intermediate Language (IL) can be executed, it must be converted by a.NET Framework Just In Time (JIT) compiler to native code, which is CPU specific code that runs on the same computer architecture that the JIT compiler is running on.
Verification examines the Intermediate Language (IL) and metadata to see whether the code is type safe, that is, it accesses only the authorized memory locations, Identities are what they claim to be and reference to a type is compatible with the type referenced.
  More results at FactBites »


 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments
Please enter the 5-letter protection code

Want to know more?
Search encyclopedia, statistics and forums:

 


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms.