C# is a main-stream, general-purpose programming language developed at Microsoft. C# is fully object-oriented and is under continuous active development by Microsoft. C# programs are fully portable across all recent Microsoft operating systems since Windows 2000/XP (and partially on Windows 98). The latest version of C# (and its associated .NET platform) as of January 2013 is 4.0.
To execute on Windows, C# programs require the installation of the .NET Framework Common Language Runtime (CLR), a virtual machine that hides operating system details. The runtime, as it is sometimes called, is available both for Windows client computers and Microsoft Web servers. C# programs consist of .exe or .dll files, each containing Common Intermediate Language (CIL) instructions which will execute in the CLR, a manifest (table of contents), metadata pertaining to the program, and (possibly) encapsulated resources such as images or audio.
In C# 3.0, Microsoft has added the 'var' keyword, which allows type inference. For instance, one might declare:
var fooString = "Hello, World!";
when in previous versions, one might have to write:
string fooString = "Hello, World!";
Standards and Implementations
C# is standardized by ECMA (the ECMA-334 standard) and by ISO/IEC (the ISO/IEC 23270 standard). Microsoft’s C# for the .NET Framework is a conforming implementation of both of these standards. An independent version of the Common Language Runtime (not developed by Microsoft) is available as a result of the open source Mono Project; it provides software to develop and run .NET applications on Linux, Solaris, Mac OS X, Windows, and Unix.