Who is this book aimed at? The sub-title of the book gives us the definitive answer to that question.
The Book of Visual Basic 2005
.NET insight for Classic VB developers
No scope for confusion there, then!
By current standards, this is a medium length book of just over 470 pages. Of course there are many thin and useful books, just as there are many large and unhelpful ones; size, as they sometimes say in another context, isn't important. Quality is, though.
Classic VB upgraders probably need two key things from a .NET book: Firstly, "What's in it for me?" advice. That is, guidance on what benefits they may gain from making the switch, plus honest information on the downsides.
Although the marketing material from Microsoft covers the benefits in great detail, it is useful to have an unbiased version of this, a view distilled through the perspective of an experienced user. For the same reason, negative information based on experience is also very valuable.
Secondly, for developers who are ready to make the change it is very helpful to have new features in VB2005 (and less importantly Visual Studio 2005, for that matter) clearly highlighted. Perhaps even more crucial, to cut down the amount of wasted time in the learning curve, they need clear guidance on those sometimes small, but fundamental changes that have been made to classic VB methods. By this I mean those where the name hasn't been changed, but some key requirement or result has. The scope for frustration in these areas is huge.
I think that Matthew MacDonald has scored well on all these requirements. The book is filled with comparisons between Classic and VB2005, differences clearly explained with short code snippets where practicable.
For example, quite early on the limitations of classic VB get fair coverage and this is followed by two sections named:
Ten Enhancements You Can't Live Without
Ten Changes That May Frustrate You
And the book takes this fairly even-handed approach throughout. The benefits of .NET are highlighted, but the effort required to make the change isn't overlooked or underestimated.
To take another example, he highlights the benefits of the My object, such as discoverability using Intellisense, but doesn't duck the dark side - the potential pitfalls. As My was brought in specifically to seduce and appease Classic VB-ers, it is good to see both sides of the story being honestly presented.
As regards new features and controls, these are covered in some depth, supported by screenshots and useful diagrams.
Each chapter has a "New in .NET" section with high level, mostly positive coverage of what are included in the new features. These are then covered in much more detail later in the chapter. In some chapters I see that "New-to-VB2005" features are also given separate treatment; useful for those who have already played with .NET 2002 and 2003.
That's an overview. Let's take a look at the contents.