• What is Platform Independent?
• Are C/C++/Java/.net languages platform independent?
• Portability: Delivering portability is a key aspect when developing a program
targeting a wide range of platforms. A couple of questions need answers to enable
execution on multiple platforms:
What kind of CPU is used?
What Operating System (OS) will the program be running on?
• Implicit Compilation: The implicit way delivers portability quite more
effortlessly, because the first step of the process is much more platform agnostic.
Each target platform has a JIT compiler deployed and as long as the IL can be
interpreted the program can execute. The initial compiler does not need to know
all of the places where the software might run.
• Java vs .net
• Common Language Infrastructure (CLI): It is an open specification
developed by Microsoft and standardized by ECMA(European computer
It defines the characteristics
of a runtime environment
that supports the development
of portable application
written in multiple language.
Microsoft .NET Framework
and the Mono project are
based upon this CLI.
Microsoft published the source
Code for implementing the std,
Known as Rotor.
Overview of CLI
system: Provide an
Role of CLR in .net Framework:
The main function of Common Language Runtime (CLR) is to convert the Managed
Code into native code and then execute the Program. It acts as a layer between
Operating Systems and the applications written in .net languages.
• Class loader:This Load classes into runtime.
• MSIL To Native code Compiler: Converts MSIL to native code.
• Code manager:
• Garbage Collector:
• Security Engine:
• Type Checker:
• Thread Support:
• Exception Manager:
• Debug Engine:
• COM Marshaler:
• BASE Class Libraray: