DevCity.NET -
Book Review: Murach's Visual Basic 2005
Ged Mead

Ged Mead (XTab) is a Microsoft Visual Basic MVP who has been working on computer software and design for more than 25 years. His journey has taken him through many different facets of IT. These include training as a Systems Analyst, working in a mainframe software development environment, creating financial management systems and a short time spent on military laptop systems in the days when it took two strong men to carry a 'mobile' system.

Based in an idyllic lochside location in the West of Scotland, he is currently involved in an ever-widening range of VB.NET, WPF and Silverlight development projects. Now working in a consultancy environment, his passion however still remains helping students and professional developers to take advantage of the ever increasing range of sophisticated tools available to them.

Ged is a regular contributor to forums on vbCity and authors articles for DevCity. He is a moderator on VBCity and the MSDN Tech Forums and spends a lot of time answering technical questions there and in several other VB forum sites. Senior Editor for DevCity.NET, vbCity Developer Community Leader and Admin, and DevCity.NET Newsletter Editor. He has written and continues to tutor a number of free online courses for VB.NET developers.

by Ged Mead
Published on 10/12/2006

   Murach have been producing technical books for more than 20 years and have developed their own special style and a quite substantial, loyal readership .   Their latest offering is "Murach's Visual Basic 2005".

   Ged Mead offers an overview of this book.   


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.




  The list below will give you a general overview of what topics are covered in the book:

 Section 1:  Introduction to Visual Basic Programming
Chapter 1
 An introduction to Visual Studio

Chapter 2
 How to design a Windows Forms application

Chapter 3
 How to code and test a Windows Forms application

Section 2:The Visual Basic language essentials  
Chapter 4
 How to work with numeric and string data

Chapter 5
 How to code control structures

Chapter 6
 How to code procedures and event handlers

Chapter 7
 How to handle exceptions and validate data

Chapter 8
 How to work with arrays and collections

Chapter 9
 How to work with dates and strings

Chapter 10
 More skills for working with Windows forms and controls

Chapter 11
 How to create and use classes

Chapter 12
 How to debug an application

Section 3 Database programming  
Chapter 13
 An introduction to database programming

Chapter 14
 How to use data sources with databases (part 1)

Chapter 15
 How to use data sources with databases (part 2)

Chapter 16
 How to use ADO.NET to write your own data access code

Chapter 17
 How to use data sources with business objects

Section 4 Object-oriented programming  
Chapter 18
 How to work with default properties, events, and operators

Chapter 19
 How to work with inheritance

Chapter 20
 How to work with interfaces and generics

Chapter 21
 How to organize and document your classes

Section 5 Files, XML, user interfaces, and deployment  
Chapter 22
 How to work with files and data streams

Chapter 23
 How to work with XML files

Chapter 24
 How to enhance the user interface

Chapter 25
 How to deploy an application

Appendix A
 How to install and use the software and files for this book



   However, if you want more detail then you can navigate to the Table of Contents Page on their web site to see the full list:

  and as you can see from the screenshot above there is a link to every single chapter.  So if you want to see the coverage of, for instance, "How to work with arrays and collections" chapter then you just need to follow that link for more information:

 Sample Chapters

    And if you need more detail still and want to see if the Murach style is for you then you can download and view two of the chapters.  The link to do that is here.





   If you already own a Murach book then you won't have needed to read this review.  You'll know if the distinctive Murach style works for you or not.

   But if you haven't tried one of their range yet and particularly if you are a VB.NET newbie then I would recommend that you take a look at this book.   Check out the sample chapters, see if the list of chapters and the breakdown of topics appears to you to be an understandable, logical sequence of explanations of what is - let's face it - a dauntingly large and complex language.

   After my brief canter through this book I came away with the impression that it was well written, and that topic coverage was comprehensive and clear throughout.  Non-technical layman's language is used in many places to cut through the difficult-to-grasp concepts. The code samples in the book were kept as short as possible for clarity and the downloaded solutions that I tried out all worked straight out of the box.

   I've always had a soft spot for Murach books and although I'm not now a target reader for this latest offering, I still think that this will be an excellent starter book for many newcomers to VB.NET in general and to VB 2005 in particular.