Table of contents |
2 Standardization 3 Example 4 Marketing 5 External links |
Program execution
C# does not compile to binary code which can be executed directly by the target computer. Instead, as with Java, it is compiled to an intermediary code which is executed on a virtual machine which is included in the .NET framework. All .NET languages (which includes Visual Basic .NET and Managed C++ as well as C#) compile to this intermediary code called Microsoft Intermediate Language (MSIL). To the casual observer, the resulting program looks like a normal executable and has an ".exe" extension just like a normal application. However, executing the program fails on a computer that does not have the .NET Framework installed.
When the program is executed, the .NET framework compiles the intermediate code into binary code as it is run—just-in-time compilation (JIT). The resulting binary code is stored temporarily (in a memory cache), so if the program uses that portion of code again, the cached version is used. However this is only in effect during the runtime of the program. If a .NET application is run again, this compilation process is done again.
Standardization
Microsoft has submitted C# to the ECMA for formal standardization. In December 2001, ECMA released ECMA-334 C# Language Specification. C# became an ISO standard in 2003 (ISO/IEC 23270). There are independent implementations being worked on, including:
namespace Example
{
public class HelloWorld
{
private String aString;
public HelloWorld()
{
aString = "Hello World";
}
public override String ToString()
{
return(aString);
}
public static void Main()
{
HelloWorld aHelloWorld = new HelloWorld();
Console.WriteLine(aHelloWorld.ToString());
}
//Output is:Hello World
}
}
Example
using System;
Marketing
Microsoft is agressively marketing C# as well as the other .NET languages. For example, purchasers of the latest version of Visual Studio .NET (Microsoft's popular IDE) can immediately develop mobile device applications in C#. To develop applications in other languages, such as C++ (which Visual Studio supports), developers have to download a separate IDE which doesn't even integrate with Visual Studio. With these barriers, Microsoft is motivating developers to abandon C++ and switch to C#.
See also: F sharp programming language
External links