DevCity.NET - http://devcity.net
Book Review: Visual Basic 2005 Programmer’s Reference
http://devcity.net/Articles/211/1/article.aspx
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 3/31/2006
 

  

 

    As VB2005 gathers momentum, so does the output of VB2005 books from the popular technical publishers.     

 

   Ged Mead got hold of a copy of "Visual Basic 2005 Programmer’s Reference" By Rod Stephens and found much to recommend it.    Read on for his review of this book ....

 


Introduction

    This is a BIG book.     I hadn’t checked before ordering and so was taken by surprise when the 1000+ page, two Kilogram package thumped through my letterbox.      In terms of weight, this wasn’t going to be a light read!   In terms of writing style though, lightness was clearly not going to be a problem.     The author has an easy to read style, which doesn’t avoid  technical terms, but doesn’t wallow in them for the sake of it either 

 

 

    

    Having read several of Rod Stephens’ articles and visited his  VB-Helper site on many occasions over the years, I expected a well-written, detailed and clear book.   And, right on cue, that is what he delivered.   

 

 

    In terms of layout, there is enough white space, although I would have preferred less width per line.    The horizontal line spacing is one-and-a-half spacing, though, so this does make for easier reading.   As a personal preference, I would have rather seen the book printed in a Sans Serif font but (I put my hands up!) I am being really picky here.   

 

    There are plenty of screenshots and graphics (all monochrome, which is the industry standard for cost reasons nowadays).   On those occasions where color would have highlighted an effect, the author includes additional clarification.     The demarcation of the different types of material – narrative, code snippets, tables, etc – is quite clear, making it easy to follow.  

 

   Almost inevitably in a technical book of this size there are the occasional typos that, if not caught, might confuse the newcomer to the topic.   A trip to the Wiley web site to see if they appeared on the Errata list led to minor disappointment.  Those that I spotted in the first chapter were not listed; in fact the list as it stood could only be described as minimal!   However the author keeps track and a fuller list is available on VB-Helper .    This list is updated by the author who welcomes feedback from readers of his book.

 

    The book contains four main parts covering a wide range of VB2005 topics, plus a very useful set of Appendices at the back.

 

 

Content

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.

(Part5)

   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

Operators

Drawing classes, Exception classes, File System classes.

 

 

Summary

 Audience Level

   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.


  
In Summary:      

     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.