List Price: $44.99
I like Tim Patrick! On his author's page at O'Reilly, it lists his "Areas of Expertise" as just simply "Visual Basic".
That makes Tim my kind of programmer!
But, no doubt bowing to the insistant demands of his editor, his new book includes code for both VB and C# - both in the text and the downloadable code. If you're working on being skilled in both languages, this book will double as a great training tool since you can see equivalent C# and VB code side by side. On the other hand, if you're only interested in one language, then large chunks of the text are of no interest to you.
Tim is an enormously skilled technical author and he has created a book that will help bring Microsoft's data technology, ADO.NET 4, into focus for people who are just starting to learn about it. As Tim puts it in the Introduction, "The text is decidedly introductory; it discusses the basics."
One of the biggest challenges in writing a book like this is that the scope of ADO.NET is huge. Making it fit into less than 400 pages is really hard. By comparison, a Wrox competitor for the same subject fills 1536 pages - almost four times as many.
Tim's approach is a good one, however. He organized his presentation into five parts and the first one, "Getting to Know ADO.NET", is calculated to make even beginners feel comfortable with the technology before jumping into these more complex issues in the rest of the book:
- Connections and Queries - Part II
- "Entity Framework" - Part III
- "LINQ" - Part IV
- WCF and REST - Part V
Since you can find whole books on each one of those topics, Tim's book does well to get you in the front door.
Is "Step by Step" the right approach?
One of the problems that you face in writing a book for beginners is deciding how to make the code easy enough for someone just starting out and still do something interesting. People are simply tired of seeing another "Hello World" example. But if you use a really interesting example with code that is more complicated, you can write explanations for fifty pages and still not answer all of the questions that many beginners will have.
Tim's solution is to include example exercises that are mostly complete already. The "step by step" instructions show readers how to add just a few sections of code to complete them. It's an interesting approach. The reader gets a program that actually does something and still doesn't require a whole day of confusion and coding before it works. One risk is that readers won't get the real value out of the example unless they take the time to go beyond the text and work with the pre-coded parts of the exercise that are not explained.
In my own writing, I usually avoid providing a "step by step" recipie to explain something. In my experience, it usually just doesn't work.
For example ...
The very first "step by step" instructions in the Introduction went off the rails (at least, in my configuration) because the sequence of dialog screens that I saw to set up the sample database wasn't the same as the screens presented in the book. (It failed on Step 9. "Choose Data Source" wasn't an option after "New Connection" for me.)
There are two fundamental flaws in the whole "step by step" approach.
- Nothing stays the same for long in software.
- There is an almost infinite number of variations possible and specific steps will never cover them all. In my case, I had just finished upgrading my server to SQL Server 2008 R2. I'm blaming that for the difference.
No matter how skilled the author is (and Tim Patrick is among the very best), any exact set of instructions will fail for a lot of people and a lot of reasons. The failure rate goes way up as soon as a new release of the software comes out. That seems to be happening faster all the time today.
The only solution I know of is to get an understanding of the underlying technology itself. Then, when something changes, you have a chance of figuring out what to do to adapt to the change.
This is the hard and thorny road and it drives beginners crazy. I can't tell you how many times confused new programmers have pleaded, "Don't try to explain it. Just tell me what to click next." The desire for a "quick fix" is one of the main reasons why the "Step by Step" series has been so successful. But I'm afraid I still believe that there ain't no free lunch - especially where something as complex as ADO.NET is concerned.
Has Tim gone 'MBA' on us?
Readers of this page might remember some of Tim's books that I have reviewed in the past. For example, Programming Visual Basic 2008 and Start to Finish Visual Basic 2005. I wrote in my review that, "It's a fun read!" In one book, Tim suggests that frustrated Excel programmers were about to set fire to the Microsoft campus. In another, Tim gives Visual Basic credit for helping a programmer bench press 300 pounds and have increased libido. This one, however, seems to be "strictly business" and I, for one, regret that. I recently finished collaborating on a 1500+ page book myself and I know that you can't always have things your way. (I still sneaked in examples with users named "Quiet Urp" and "Paul Bunion". Paul Bunion's password hint was, "Who's Hot?" The answer was "Babe, the Blue Ox.")
I can sincerely recommend Tim's book, however. He does take the time to build real understanding for the topics he covers and if you're looking for a way to break into ADO.NET, this book will do the job for you.