I've told several people before that I'm doing two projects for Competition #9. The first one is the game that me and PiscesMike are working on. The other project that I'm working on is getting my book ready for the 3rd Edition.
What is the Time Frame for the 3rd Edition?
Obviously, the first question people are going to ask is, "When is it supposed to come out?" It depends. I don't plan on releasing it until the next version of C# (C# 7) and the next version of Visual Studio (Visual Studio "15", not to be confused with Visual Studio 2015) are released.
Microsoft does not do a good job of letting you know when that will be. Here's how it usually works. After a given release, they start to think about what might go into the next version. A few months to maybe a year after the last major release, they start to put out periodic "CTP" (Community Technical Preview) releases of the next version. These are more or less prototypes of what could be. They sometimes are outright missing huge important features that the previous version had, and focus on getting some sort of beta/preview in the hands of early adopters. These CTP releases are not meant to be used for anything official. It's just a playground of sorts.
CTPs seem to come out initially about quarterly. Every several months, you get a new one. The total number of CTPs varies wildly from version to version. We're currently on #5, which came out in early October 2016.
At some point (and you can sort of get a "gut feel" for when they're getting close) they suddenly start putting out Release Candidates. I've seen them have releases after only a single RC. I've also seen them have 3 or 4 or 5 RCs.
The time period between RCs is usually quite a bit shorter than CTPs. More like every week or two or three.
Currently, we have not had any RCs. We're still in the CTP stage. But it does feel like the RCs might be coming pretty soon.
Which is the reason why I'm getting antsy to get my book updated.
I don't plan on releasing the book before there's a new C# and a new Visual Studio. But in a perfect world, I'd be able to simply hit the Publish button the day the final version is actually launched.
At any rate, hopefully that gives a bit of insight into when the 3rd edition might be available: we're currently weeks to months out. (I'm pretty confident a year from now, it will be out.)
I'll be posting occasional updates on how things stand for the 3rd Edition here in this thread.
You can also check out my Trello board that should have up-to-date status here: https://trello.com/b/ku1AVjXT
Should I Wait to Get the 3rd Edition?
I probably can't answer this question for you. At the moment, it looks like we've still got at least a month or two before anything major happens. You could honestly be done reading the book long before then.
So I think it probably makes the most sense to just go ahead and buy the book. Of course, I'm biased in that regard.
But I do take care of my readers. If this is a concern for you, please email me and I'll get you all sorted out.
Like I said, it could still be many months before C# 7, VS 15, and the 3rd edition of my book come out. I wouldn't necessarily wait, because you could be waiting indefinitely.
I can also tell you (despite how long the list on the Trello board is) that the vast majority of the book is going to remain the same. The only major changes to speak of are going to be the new C# 7 and VS 15 content, and the new sample problems. (If you want the new sample problems before the 3rd edition comes out, email me. I'd actually love to have some people work through them before I publish the book officially.)
What's Going to be Different in the 3rd Edition?
I've got a Trello board (https://trello.com/b/ku1AVjXT) that contains the list of features I'm currently planning on working on. If you've got other suggestions, especially if you've already read through the book and have some ideas that might be helpful to people who might buy the book, then I'd love to hear those suggestions.
In general though, the thrust of the new changes are along these lines:
- I've got many comments that there aren't enough problems to work through. So I'm planning on adding in quite a few more problems across the whole book. (There are about 50 in there now. I might double that.)
- I'm obviously going to add content relevant to new C# 7 features. These are sort of small and scattered. Most of these items will be another sentence or two in an existing section. A few might deserve their own section.
- I'm adding some tables to the back of the book. It's all information that is currently contained elsewhere in the book, but some reference tables in the back will be helpful.
- I want to explore making .MOBI and .EPUB formats for my book, in addition to the PDF version. (That's never going away.) I won't make any promises. I've looked into it a bit before. The organization of the book assumes that pictures are to the left/right etc., and one or both of those formats expect everything to just flow like HTML. It may prove to be too much to make those formats work this time around. If so, it may happen in the 4th Edition instead.
- Additional material in a few places to clarify some points:
- A bit more about classes and objects, and class design.
- Some more information on how the stack works.
- Some additional examples on when/how data gets stored on the stack vs. the heap.
- Fix all the errata from the website that people have submitted over the last couple of years.