← Back to all articles

Little-Known Facts from the History of C# You Should Know

Published

C# is much more than “just another programming language.” It’s the result of years of clever experimentation at Microsoft that changed not only .NET but the entire software industry.

Here are a few key moments that show how C# became a true innovator.

2002 — The Birth of C# and .NET

The lead architect was Anders Hejlsberg, also known for creating Turbo Pascal and Delphi. C# 1.0 was released alongside .NET Framework 1.0.

The goal was to create a modern, safe, and simple language—easier than C++, but shaped by Microsoft’s own vision.

Early 2000s — The Cω (Comega) Research Project

Cω wasn’t a commercial product but a research project from Microsoft Research. It combined ideas from Polyphonic C# and Xen, experimenting with data access and concurrency.

While Cω never became a mainstream language, its innovations helped inspire the creation of LINQ.

2007 — LINQ and the Rise of Functional Programming Ideas

With the release of C# 3.0, Erik Meijer brought concepts influenced by functional languages such as Haskell and ML into mainstream C# development. This release introduced powerful new features:

  • LINQ query syntax with from, where, and select.

  • Lambda expressions.

  • Extension methods.

  • The var contextual keyword.

  • Anonymous types.

  • Expression trees, which became crucial for technologies such as Entity Framework.

These additions made C# more expressive, allowing developers to write cleaner and more powerful code.

2012 — The Influence of F# and the Arrival of async/await

C# 5.0 adopted and adapted the async/await pattern from F#, which already had a feature called async workflows. This helped the language move away from older, more cumbersome models of asynchronous programming.

2015–2021 — How C# Influenced Other Languages

Patterns popularized by C# had a wide-reaching impact across the industry.

Asynchronous Programming with async/await

  • Python 3.5 (2015).

  • JavaScript ES2017 (2017).

  • Kotlin 1.3 (2018).

  • Rust 1.39 (2019).

  • Swift 5.5 (2021).

Functional Style and LINQ-Inspired Ideas

  • Java Streams API in Java 8 (2014).

Conclusion

C# didn’t just follow trends—it set them. It fundamentally changed how developers think about asynchrony, data, and language design.

P.S. An Interesting Fact After Publication

After this post was published on LinkedIn, Don Syme, the creator and lead architect of the F# language, left a comment highlighting some important points:

“Language integrated async programming was shipped first in F# in 2006 and was copied and adapted into C# in the following years.”

“The history of Generics, LINQ and async programming, iterators and more is covered tangentially in ‘The Early History of F#.’”

“There’s no corresponding peer reviewed paper on the history of C# unfortunately.”

You can read The Early History of F# in the Proceedings of the ACM on Programming Languages.

He also noted that key contributions to C# in the 2000s came from the following individuals:

  • Gavin Bierman — Comega.

  • Cédric Fournet — Comega.

  • Nick Benton — Comega.

  • Erik Meijer — LINQ and more.

  • Todd Proebsting — Iterators.

  • Andrew Kennedy — Generics.

  • Claudio Russo — Generics.