The book breaks into four parts.
Part 1:Visual Studio IDE.
I think there is always a dilemma for authors when describing the IDE. On the one hand, if they are not careful they end up producing a long boring list of toolbars, windows, menus, etc, which will soon have the reader nodding off over the book. On the other, if they describe each of these elements in detail, you would probably end up with a 1000 page book that never gets past the IDE description.
The author has walked a careful line between these two extremes, dropping in additional detail on key areas as necessary. For instance in the section on Project Properties and the Compile Tab, he makes use of the opportunity to reinforce the positive reasons for having Option Explicit and Option Strict turned on. Similarly, he includes real world examples of how you might find particular Debug menu windows useful.
XML Comments are a new feature for the VB side of the family and a clear example of how you can use them is included in this Part.
Overall, the narrative is interspersed with useful hints and tips, clearly gained by the author’s lengthy VB experience.
Part 2: Object Oriented Programming
The section on OOP contains a good introduction to key principles and practices in this area.Clear code samples to demonstrate points and useful diagrams to clarify the tricky areas all help demystify what can be a difficult subject for newcomers.
I particularly liked the detailed section on Collection Classes, but would have liked more on the relatively new area of Generics which personally I still find hard to grasp totally.
As OOP is a topic that many Classic VB upgraders will have to get to grips with, this Part of the book will give them a useful introduction to the subject.
Part 3: Graphics.
This Part of the book is really excellent. If you have visited the VB-Helper web site you will know that Rod Stephens is an absolute master in this field and his skills shine through in this section.
He manages to explain a whole range of graphics topics very clearly - and not just the relatively easy stuff. Difficult techniques such as Transformations and Graphics Paths are well explained with description, code samples and screenshots.
It includes useful hands-on tips on how to solve problems like the “locked bitmap file” gotcha that will catch you out unless you know the fix.
I found that the downloadable sample code was particularly useful in this part as I was able to copy/paste and recycle some of the advanced examples for a project I was working on at the time.
Part 4: Interacting with the Environment.
This final, relatively short, Part includes coverage of a range of topics, including Configuration, Resources (much improved in VB2005), Streams, Useful Namespaces, and a wide review of File and IO issues.
Not categorised as an official “Part” of the book, you shouldn’t overlook the often very useful set of Appendices which bring up the rear of this volume.There are no les than 18 of them!
As a quick lookup facility, spanning a range that includes many of the things that you often want to find quickly without dredging for 10 minutes through MSN or online Help.They include:
The new My Namespace
Format specifiers- Date, time, numeric, etc
Controls and Components Quick reference
Drawing classes, Exception classes, File System classes.
This is a “programmer To programmer” level book and therefore isn’t a book for complete novices. That being said, the author doesn’t skimp on explanation and reinforces many key points as part of the narrative.
Pros and Cons
It is clearly written. The Graphics section is extremely good. In fact it is the best coverage of the topic of Graphics for VB.NET that I have yet seen.
One thing I really did appreciate about this book was that in many places the author has inserted his own comments and insight into the Purpose or Description cell in tables which give details of Classes, techniques, methods, etc. That is, those tables didn’t only consist of material that was copy/pasted from the documentation; a criticism I could level at other books.
I would have liked new features in VB 2005 to have been highlighted as “New in 2005” ; possibly giving those new features disproportionately additional coverage. However, VB6 developers upgrading to VB2005 who may be the key target readership of this book, possibly wouldn’t see any extra value from that.
On occasion I had the feeling that the knowledge level assumed varied from topic to topic, but with the massive depth of subjects in VB.NET nowadays it is virtually impossible to overcome this problem.
A plus point with this - and other - Wrox books is that you can get help and answers from the Wrox Programmer to Programmer (P2P) Forums. The specific link for this book is http://p2p.wrox.com/forum.asp?FORUM_ID=216
As you will see if you follow that link, the author is more than willing to pitch in and help resolve a follow up question from a reader, even going to the extent of providing a revised code sample for the particular problem.
Even a book of this size (more than 1000 pages) cannot be all things to all people. And in fairness it doesn’t pretend to be. It is – as the title says – a reference book. Although, to my surprise, I did sit and read it almost from cover to cover, I can see that its real value is as a reference manual that you can dip back into time after time to learn or clarify topics as needed.
Overall this is a good Programmer to Programmer level book which has plenty of code samples, clear narrative and comprehensive coverage of important topics. Apart from anything else, personally I think this book is worth the asking price just for the information contained in the Graphics Part alone.