People often ask "What's the best VB.NET book for a beginner?".
I know the answer to that question.
It's the book that most suits your particular learning style, the one that helps you to get to grips with the topic with the least amount of struggle.
OK, so it's not the answer you hoped for - the name of "The" book that is all things to all people. And there's a very good reason for that: there is no such book.
We all find particular authoring styles work better than others for us individually. Some of us like a mass of detail and repetition; some like a few terse lines of explanation. Some of us like to be jollied along with the occasional funny; some like to stay serious. Some like the pages to be jam-packed with screenshots and diagrams; others think this is a waste of teaching space.
It's an individual thing.
And Murach have developed their own particular individual style too. They use a "facing page" technique. Open the book up at any section and on the left hand page you will find a discussion or explanation of a topic.
On the facing page you will see more specific information about this topic, possibly with a diagram or screenshots, or very often demonstration code samples.
The benefit of this approach is that the author has two bites of the teaching cherry. She (in this case, author Anne Boehm) can introduce a topic on the left hand page, cover the essentials and be ready to move on. The value of the right hand facing page though is that it can be used to show additional detail, display sample code and example results and also (this I think being very important) can summarise the key points covered on the first page. The reinforcement of learning points in this way can be a very valuable tool.
Essentially, the reader can decide if he or she has understood enough from the left side page to be ready to move on, or if not then they can opt to read the right hand page for more info, samples or reinforcement and confirmation of their understanding.
Murach are quite proud of their technique and rightly so ....
...... as long as (and here we come full circle) this is the learning style that works for you.
Personally I quite like the approach. I tend to dive into books almost at random sometimes, but often just needing to refresh my memory on a particular point. If I'm using a Murach book and need further detail, I can dig into the additional facing page info as much as needed for any one topic, or even specific part of a topic.
One way I sometimes use to test the usefulness of a new book is to keep it handy when I'm browsing the VBCity Forums looking for questions to answer. If I can dig straight in to the book and quickly find enough info to remind me of the answer (or even show me, sometimes!) then I tend to warm to that particular book. So I ran that test a few times today and on the whole it came up with enough of the answers that I needed. The index was good and the explanations I homed in on were very clear.
If there is a down side to the Murach approach it's probably that because of the facing pages approach they have to limit the number of VB.NET topics they can actually cover in the 800+ pages limit of this book size. That said, what they do cover is fairly comprehensive and contains plenty of material to keep a VB.NET beginner engrossed for many a long night. And, importantly, those topics that are included are covered thoroughly and clearly in plain English.
One of the things I've always liked about Murach books is that they don't usually take anything for granted. As an example of what I mean by that let's take the case where some of the examples need you to be sure that you have SQLServer 2005 Express installed on your system. Some books I've read will say something like "First make sure that SQLServer 2005 Express is installed" and then move straight on to the samples. The Murach books generally don't do that. They will show you step by step how to carry out that check. In fact, I picked this example on purpose because they actually include a PDF file in the free downloads which gives you 100% information on all aspects of this, including how to attach, detach and restore the database they provide for the ADO.NET chapters. I quite like the way they build in reader reassurance in this way.