Article Options
Premium Sponsor
Premium Sponsor

 »  Home  »  Reviews  »  Book Reviews  »  Book Review: Mastering Visual Basic 2005
Book Review: Mastering Visual Basic 2005
by Ged Mead | Published  09/19/2006 | Book Reviews | Rating:
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.

 

View all articles by Ged Mead...
Mastering Visual Basic 2005

  The earlier version of this book - "Mastering Visual Basic.NET" by Evangelos Petroutsos - was the very first VB.NET book I owned and currently sits in pole position in my (now much larger) .NET library.     It's a book I've reached for countless times over the past couple of years and so I was intrigued to know how this VB2005 version would compare to the original.

   As I dug into the book it soon became clear that this is very much an update of the original and not a "totally rewritten from the ground up" type of approach.   I have no problem with that; as I say I've found the original very useful many times.  If it ain't broke, don't fix it     I mention it only in passing for the benefit of those who do have the original book and who are maybe wondering if they should invest in the latest version.  There are of course new VB2005 related sections, but much of the rest will be familiar to them.

   I have always liked the way the book just jumps straight in and has you creating mini applications right from the start.  It's not everyone's ideal approach, but it works for me.     I find that it's one of those books I feel I can pick up when things are quiet and  read through a section at random, often finding a useful little nugget of code to try out or a technique to store away in the mind for later use.  (Or, to be realistic, to store away only to have one of those "Oh, heck, now where was it that I read the answer to this problem....?  " moments somewhere down the line).

  I don't want to give the impression that the book is haphazard, because it isn't.   It's just that the author doesn't shrink from using intermediate level techniques where they make for a more interesting example.  It is clearly structured and follows a logical order.   (I have often thought that it must be mind-blowingly daunting to sit down to try to map out a structure for a book that aims to cover a topic as massive as this !)        

 The publishers have classified the book with a User Level of "All Levels".    I think that it's much better suited to readers who have previous experience of either Classic VB or another language.   That's not to say that you can't go from zero to hero with this book if you have the aptitude; it's just that there's an underlying assumption that you'll grasp quite a lot of sometimes intermediate level topic fairly early on.   So if you like to be led gently by the hand in small steps then this might not be your best bet, but if you're prepared to strip off and jump straight into the deep end then I think you'll enjoy it and get value from it.

   The book is over 1400 pages long, the print font isn't large and the use of screenshots has been kept relatively low.  As a result, there is a lot of material in this book.  I'll list the major parts of the book, so you can see the flow of it:

Part 1:  GUI Design and Event Driven Programming

Part 2:  Building Rich Client Applications

Part 3:  Programming with Objects

Part 4:  Working with the .NET Framework

Part 5:  Drawing and Printing

Part 6:  Database Programming

Part 7:  Programming for the Web

Part 8:  Polishing Your Applications

   If you want to see the complete list of contents, this link will take you to this page on the Wiley site where you can  see the full monty.  

   When you get to a book of these proportions, I always think that the quality of the Index is as important as the quality of the content.   Although I've never yet found an Index to compare to the totally comprehensive one in  Deitel and Deitel's VB6: How To Program book, this one is fine.  It's comprehensive and logical .  

  You can see for yourself here.

   I usually spot-check the Index when I take my first look at a new book (back to that "Now where did I read that fix?" situation).  So I thought that the Indexer had missed a couple of key areas when I looked for "Imports" and "Namespace".   However, going through the book with a medium size toothcomb I couldn't actually find a place where these are introduced and explained.  They're certainly used in the samples in the book and Imports statements are included  throughout the downloadable samples.   Of course in a 1400 page book maybe they are tucked away in there somewhere and both the Indexer and I overlooked them.   If they have been left out of the content then, especially as both of them are  new concepts for VB Classic Upgraders, I think I'd recommend that they are included in the next edition.

   Downloadable samples got a mention a moment ago.   There are plenty of these to choose from.   Many of those that I tried out worked well and many include a reasonable amount of commenting to complement the explanations in the book itself.   The author always tries to create interesting, often non-trivial examples that be used to learn with and then reused in real world situations later.    

   I did have problems with some of the downloaded samples, however.   When I tried to run them I received an error message as shown:

   It may of course just be something to do with a setting on my personal system.    In any event,  in those samples where the problem occurred it was quickly fixed by adding a Reference to the Microsoft.VisualBasic.Compatibility namespace into the project and rebuilding it.

      It's a small point, but I'll mention it anyway.   Congratulations to the publishers for finally coming up with a way of creating a book of this size that really does lay flat when it is opened on the desk.  Better yet, one that stays flat without you having to jam your elbow into the gap between the pages -  trying to type code with your arm twisted round  like an amateur contortionist !

    So, in summary, this is an interesting and well written book which will be useful to Classic VB upgraders and to VB.NET developers who don't have the earlier edition of the book.  If you want to view the authoring style, the whole of Chapter 1 is viewable here.

     In his Introduction the author says:

"This book isn't about the hottest features of the language; it's about solid programming techniques and practical examples.   Once you master the basics of programming Windows applications with Visual Basic 2005 and you feel comfortable with the more advanced examples of the book, you will find it easy to catch up with the topics* not discussed in this book."

"One of my goals in writing this book was to exhaust the topics I've chosen to discuss and present all the information you need to do something practical."

    There's no doubt in my mind that he has succeeded in doing that.  

 

______________________________________________________________________________

   *  which might have a bearing on my comments about the Imports statement and namespaces not being described, of course.

 

Sponsored Links