2002: .NET Framework 1.0 and C# 1.0 Released

In early 2002 Microsoft launched .NET, a new platform built around a managed runtime, together with a new language and a new version of its development tools. The three pieces arrived as one event: .NET Framework 1.0, the C# language at version 1.0, and Visual Studio .NET. Microsoft’s history of C# records that “C# version 1.0” was “released with Visual Studio .NET 2002,” and its version-history documentation lists .NET Framework 1.0 with CLR 1.0 as the release included in “Visual Studio .NET.”

The launch mattered because it reframed how Windows software was written. Programs targeting .NET no longer compiled straight to machine code; they compiled to Intermediate Language that the new Common Language Runtime would just-in-time compile and execute as managed code, with the runtime handling memory through garbage collection and enforcing type safety. Multiple languages, including C# and Visual Basic, could share that single runtime and class library.

C# itself, designed by Anders Hejlsberg, was widely read as Microsoft’s response to Java. Microsoft’s own retrospective acknowledges that C# 1.0 “looked a lot like Java” and was conceived as “a simple, modern, general-purpose object-oriented language.” The 1.0 release was deliberately lean: it had classes, structs, interfaces, events, properties, and delegates, but no generics, no LINQ, and no async, all of which came in later versions.

This 2002 release set the foundations of an ecosystem that has lasted for over two decades. The platform was later rebuilt as the open-source, cross-platform .NET Core, but the model introduced in 2002 - a managed runtime, a shared class library, and many languages over one common type system - has remained the core of .NET ever since.