rbwhitaker / CSharpPlayersGuideEarlyAccess

A place to track issues with the C# Player's Guide for patches and future editions
18 stars 0 forks source link

Decision: What is the best way to handle the evolving language? #720

Closed rbwhitaker closed 2 months ago

rbwhitaker commented 2 months ago

C# is an evolving language, which makes for some tricky spots in the book and in learning C#.

I'm less concerned with a reader having an old version of C# installed and not being able to use new features. The book does a good job of telling people what version to expect and how to get it installed. What I'm most concerned about is readers learning about all these cool features, then going to, say, Unity, which is targeting an older version of C#, or just some random repository that is using old stuff. Suddenly, things the reader knows can work just suddenly doesn't.

So what is a book to do?

Some options:

Decision: Version information can be useful in certain narrow circumstances. But we're not going to call it out aggressively, for all versions or for just recent versions.

We'll accept that some readers may be surprised when they start working in a codebase targeting something older, and need to figure out what it means. This is something they'll be aware of, because the book mentions it, but they'll need to look this up online and figure out what to do about it. In exchange, it means the book can mostly keep prolonged or intrusive version discussions and signaling to only a few places where it adds direct value (like what to install and creating a new project).