Chapter 1. Survival of the sharpest

This chapter covers

  • How C#’s rapid evolution has made developers more productive
  • Selecting minor versions of C# to use the latest features
  • Being able to run C# in more environments
  • Benefitting from an open and engaged community
  • The book’s focus on old and new C# versions

Choosing the most interesting aspects of C# to introduce here was difficult. Some are fascinating but are rarely used. Others are incredibly important but are now commonplace to C# developers. Features such as async/await are great in many ways but are hard to describe briefly. Without further ado, let’s look at how far C# has come over time.

1.1. An evolving language

In previous editions of this book, I provided a single example that showed the evolution of the language over the versions covered by that edition. That’s no longer feasible in a way that would be interesting to read. Although a large application may use almost all of the new features, any single piece of code that’s suitable for the printed page would use only a subset of them.

Instead, in this section I choose what I consider to be the most important themes of C# evolution and give brief examples of improvements. This is far from an exhaustive list of features. It’s also not intended to teach you the features; instead, it’s a reminder of how far features you already know about have improved the language and a tease for features you may not have seen yet.

1.2. An evolving platform

1.3. An evolving community

1.4. An evolving book