C#

C# (pronounced “C sharp”) is a general-purpose, object-oriented programming language created by Microsoft and designed primarily by Anders Hejlsberg, the same engineer who had earlier built Turbo Pascal and Delphi. It first reached developers with the launch of the .NET platform in early 2002. Microsoft’s own history of the language records that “C# version 1.0” was “released with Visual Studio .NET 2002,” and that, when you look back at it, “looked a lot like Java.”

That resemblance was deliberate. C# was Microsoft’s answer to Java: a curly-brace language with a single class hierarchy, automatic memory management through garbage collection, and a strong static type system, but tuned for the Windows and .NET world rather than the Java Virtual Machine. Microsoft states that the language’s stated design goal was to be a “simple, modern, general-purpose object-oriented language.” The first version included classes, structs, interfaces, events, properties, delegates, and attributes, but lacked generics and LINQ, which arrived in later releases.

C# does not compile directly to machine code. Instead, the C# compiler emits Intermediate Language (IL), which the Common Language Runtime then just-in-time compiles and executes as managed code. This is what lets C#, Visual Basic, F#, and other languages share the same runtime, libraries, and type system on .NET.

The language is governed by a public standard. Ecma International publishes it as ECMA-334, which “describes the form and establishes the interpretation of programs written in the C# programming language,” and a corresponding ISO/IEC standard exists as well. Over more than two decades, C# has grown from that Java-like 1.0 into a language with generics, LINQ, async/await, records, and pattern matching, while remaining one of the principal languages for building software on the .NET platform.