$49.99 (paper) ISBN: 0321398009 November 2006
I liked this book from the first page! The main thing I like about it is the author's style. It's a fun read. But the second thing I liked about it is the idea behind the book: Developing a complete application as a way to learn the language. (In this case, it's an application for a library built around a database.) Tim Patrick carries it off very well in a book that delivers exactly what it promises.
Get Serious!
Tim Patrick is no stranger to team writing. His previous two books were written as a member of a team. (See my review of the Visual Basic 2005 Cookbook. And if you're interested an in depth exploration of just one topic by a real expert, you might want to try the article I co-authored by Peter Zilahy Ingerman, PhD, about just one chapter of the Visual Basic 2005 Cookbook, The Visual Basic 2005 Cookbook Redux.
Patrick's personality just doesn't shine through in his previous books like it does in this one. Here, he's the sole author and his style shines like a searchlight on every page. In the introduction, Patrick describes how Visual Basic 1.0 impacted the typical programmer in the beginning.
"Six weeks later, Hector has completed the project, ahead of schedule, feature-complete, and with the accolades of his boss and his department. And it's all due to Visual Basic. But VB didn't just improve his programming life. Overall, he's happier, has kicked the caffeine habit, is able to bench press 300 pounds, no longer walks with a limp, has increased libido, and has whiter teeth. 'Thank you, Visual Basic 1.0!'"
Congratulations to his editors for not throwing a wet blanket on his style!
He spices up the somewhat standard disclaimer in the preface about not copying the code and selling it as your own this way:
"... don't go selling the software as your own work. Just to be on the safe side, I've added a few hard-to-find-bugs. Just kidding! No, I'm not!"
Love it! I like to think that's the way I might have written it! In fact, he uses the same example of an object, a television, that I used in my online tutorial for VB 2005. In fact, since I used that example first, I think I'll sue for damages! Just kidding! No, I'm not!
The Thinking Person's 'Dummies Book'
This book might be described as "the thinking person's 'Dummies' book" because it's written in the style of that extremely popular series, but it doesn't insult you by calling you a "dummy". It's also a lot more complete and written at a much higher technical level. If you like the 'Dummies' book style but you (like me) hate the title, this book is for you.
One part of Patrick's personality is that he loves the technology. Occasionally, that results in bits of information that you really don't have much use for. In the introduction to .NET "types" for example, he includes extra information about the BCL (Base Class Library) and the FCL (Framework Class Library) before concluding, two pages later, that, "All classes of the BCL and FCL appear intermingled throughout the entire namespace hierarchy. This means that you cannot necessarily tell whether a particular class is from the BCL or the FCL. Frankly, it doesn't really matter ..." Oh! Well ... Then I'll just reclaim the time I spent reading those pages. Oh wait! There's no "garbage collection" in real life that will let me reclaim my time. Rats!
But I have to admit that I must have some of that same personality quirk. I found the book sprinkled with little details explaining things that I have wondered about. For example, I knew that not all of the properties of a control are displayed in the Properties window in Visual Studio. Patrick explains why. (They're marked with an attribute telling VS whether they should be displayed or not.)
The 'Start To Finish' Theme
The "start to finish" theme of the book refers to the development of a complete application - a database centered project for a library. The downloadable example file unzips to 3587 individual files. That has to be a significant effort (even though Visual Studio actually created most of them automatically). I was very impressed by the completeness of the system and how well the files integrated with the text. For example, his technique of using Intellisense Code Snippets as well as "before" and "after" code for each chapter will keep even beginning programmers in sync with the book.
The application built throughout the book is so complete that there are even sample documents that you can copy and use to sign a contract for a systems development project. As a result, you get a "two for one" deal in this book: a tutorial and lots of examples that you could customize for your own use. I admit that not a lot of people will need library management systems, but the individual components, such as tracking items in a database, are probably useful in the majority of development projects.
There are lots of "styles" used in writing tutorials and not everyone will like this one. (If you're looking for a more structured style like you might find in a classroom, try the totally different "paired page" format used by Murach..) But I like this one and I think most of you will too!


