Game Development Reference
Figure 2.2 Source code compilation into MSIL.
The intermediate language code (IL) cannot run on its own. It must first be com-
piled by the Just-in-Time (JIT) compiler for the target platform to turn the IL into
platform-specific machine-level code. This architecture provides Microsoft .NET
with a certain level of platform independence. Work is currently being done by
third parties to port the CLR to other platforms like UNIX and MacOS X.
The .NET platform also gives the capability to build durable system-level compo-
nents thanks to the following features:
Robustness provided through type safety and garbage collection
Code security provided intrinsically through code trust mechanisms
Support for extensible meta-data concepts
Existing code integration support
Versioning to provide ease of administration and deployment
Full interoperability is also possible with other languages across multiple platforms,
thanks to full XML support for web-based component interaction and COM+
Aside from the Common Language Runtime, the other main component of the
.NET platform is the Class Framework, which provides reusable functionality and
technologies to any .NET compliant language and compiler.
Overview of C#
While there are a number of available languages supported by the .NET platform,
C# is the most popular one for many reasons. The C# language is an elegant yet
simple, type-safe, object-oriented language that allows for the development of a
breadth of enterprise and highly distributed applications.