C Sharp programming language
C# (pronounced see-sharp) is an object-oriented programming language developed by Microsoft as part of their .NET initiative. Microsoft based C# on C++ and the Java programming language. C# was designed to balance power (the C++ influence) with rapid development (the Java influence).
| 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:- Ximian's open source .NET implementation, Mono
- the Free Software Foundation's dotGNU Portable.NET
Example
using System;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 } }
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
- C# Language Specification (MSDN)
- ECMA-334 C# Language Specification (.pdf)
- ISO/IEC 23270:2003 C# Language Specification
- Microsoft Visual C# .NET
- MCS: The Ximian C# compiler
- Portable.NET
- DotGNU Project - a Free Software .NET compatible platform
- Borland USA's C# Builder for the Microsoft® .NET Framework
