Introducing the C# language
This part of the book is about the C# language—the grammar and vocabulary that you will use every day to write the source code for your applications.
Programming languages have many similarities to human languages, except that in programming languages, you can make up your own words, just like Dr. Seuss!
In a book written by Dr. Seuss in 1950, If I Ran the Zoo, he states this:
“And then, just to show them, I’ll sail to Ka-Troo And Bring Back an It-Kutch, a Preep, and a Proo, A Nerkle, a Nerd, and a Seersucker, too!”
C# language versions and features
This part of the book covers the C# programming language and is written primarily for beginners, so it covers the fundamental topics that all developers need to know, including declaring variables, storing data, and how to define your own custom data types.
This book covers features of the C# language from version 1 up to the latest version, 12.
If you already have some familiarity with older versions of C# and are excited to find out about the new features in the most recent versions of C#, I have made it easier for you to jump around by listing language versions and their important new features below, along with the chapter number and topic title where you can learn about them.
You can read this information in the GitHub repository at the following link: https://github.com/markjprice/cs12dotnet8/blob/main/docs/ch02-features.md
Understanding C# standards
Over the years, Microsoft has submitted a few versions of C# to standards bodies, as shown in Table 2.1:
C# version |
ECMA standard |
ISO/IEC standard |
1.0 |
ECMA-334:2003 |
ISO/IEC 23270:2003 |
2.0 |
ECMA-334:2006 |
ISO/IEC 23270:2006 |
5.0 |
ECMA-334:2017 |
ISO/IEC 23270:2018 |
6.0 |
ECMA-334:2022 |
ISO/IEC 23270:2022 |
Table 2.1: ECMA standards for C#
The ECMA standard for C# 7.3 is still a draft. So don’t even think about when C# versions 8 to 12 might be ECMA standards! Microsoft made C# open source in 2014. You can read the latest C# standard document at the following link: https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/specifications.
More practically useful than the ECMA standards are the public GitHub repositories for making the work on C# and related technologies as open as possible, as shown in Table 2.2:
Description |
Link |
C# language design |
|
Compiler implementation |
|
Standard to describe the language |
Table 2.2: Public GitHub repositories for C#