LITA logo.
""Library & Information Technology Association

Technology Electronic Reviews
Volume 14, Number 2, December 2007

~ Return to more reviews in this issue

REVIEW OF: Matthew MacDonald. The Book of Visual Basic 2005: .NET Insight for Classic VB Developers (2006). San Francisco: No Starch Press. (ISBN-13: 978-1593270742). 512 pp. $39.95.Reviewed by Tami Morse McGill.

The Book of Visual Basic 2005 is not for beginners. As its subtitle implies, Matthew MacDonald assumes the reader is familiar with earlier versions of Visual Basic (VB), particularly VB 6. This perspective allows him to focus on the considerable differences between VB 2005 and earlier versions, especially the .NET framework and object orientation. For developers conversant with "classic" VB, The Book of Visual Basic 2005 is a good introduction to these changes.

The book is written in a light, readable style with plenty of code examples to illustrate the concepts discussed. MacDonald makes it clear from the outset that his book is an overview, and not comprehensive. Since the .NET framework, the new IDE (integrated design environment), and the language itself are all quite complex, this means there are topics that are touched on briefly or skipped altogether. This is consistent with the purpose of the book, and MacDonald includes lots of pointers to other sources to fill in the areas he chooses not to cover in detail. The code samples are also available at the author’s website, www.prosetech.com.

The Book of Visual Basic 2005 is organized in fourteen chapters covering a broad range of topics. Most chapters open with a section called "New In .NET", which summarizes the material to be discussed, and closes with a "What Comes Next?" section with recommendations for finding further information on the topics discussed. Especially relevant tips and notes are called out in the margins and italicized for added emphasis -- though the book is filled with useful tips, and not just in these paragraphs.

Chapter 1, "The .NET Revolution", provides a brief overview of the .NET framework and the differences between classic VB and VB 2005. Chapter 2, "The Design Environment", describes Visual Studio 2005, the new IDE for VB 2005. While it's very difficult to clearly describe a nonlinear graphical environment like Visual Studio in a linear narrative, MacDonald does an admirable job. Chapter 3, "VB 2005 Basics", begins the examination of the VB 2005 language itself, including the common class library, namespaces, and differences in working with some data types that in VB 2005 are now objects (notably strings and arrays.) Chapter 4, "Windows Forms", discusses some of the new controls available in .NET, and the new tools in Visual Studio that support form design. MacDonald also goes into the internal code of forms, the "muck and goo". This is one chapter where it’s clear there’s much more to cover than space allows, but the subjects the author chooses give a good flavor of what’s available to the developer.

Chapters 5 and 6, "Object-Oriented Programming" and "Mastering Objects", comprise a clear and practical introduction to, well, object-oriented programming. This is a topic that is often difficult for newcomers to grasp, and MacDonald does an excellent job of explaining its usefulness and making it understandable.

Chapter 7, "Assemblies and Components", and Chapter 8, "Bug Proofing", begin the discussion of creating truly deployable applications in VB 2005. Chapter 7 describes the organization of assemblies, the packages that contain executable code and metadata about it. Components, the Global Assembly Cache, versioning, and resources are also covered. Chapter 8 covers exception handling and the much-improved mechanisms and tools available in VB 2005. This is a subject often given short shrift in books on programming languages, and MacDonald is to be commended for his thorough and clear coverage.

Chapter 9, "Dealing with Data: Files, Printing, and XML", covers a lot of ground: streams, file access and handling, serialization, reading and writing to the Windows Registry, and printing. These are all areas where .NET and objects have significantly changed the way things are done in VB, and MacDonald does a fine job of pointing out the differences and supplying examples. He ends this chapter with a clear, basic introduction to XML.

The remaining chapters introduce more complex topics. They really serve only as overviews, but as usual MacDonald supplies plenty of references to resources for more information.

Chapter 10, "Databases and ADO.NET" discusses the major changes to data handling brought about by ADO.NET. Chapter 11, "Threading", covers the BackgroundWorker and Thread objects and thread management. Chapter 12, "Web Forms and ASP.NET", covers server-side web applications. As with ADO.NET, ASP.NET has brought major changes. Also, as MacDonald says, "If you’re like many Visual Basic programmers, you’ve never created a web application before," (p. 388) so this material may be new to even old hands at VB. He gives us a look at the basics and walks through an example, but again, this is a huge topic that really can’t be done justice in just one chapter.

Chapter 13, "Web Services", explains the differences between web services and COM objects, and walks through an extended example of creating a web service. It also discusses consuming web services using the proxy class. MacDonald includes a good brief introduction to WSDL and SOAP, the open standards that serve as the bases of web services.

The book concludes with Chapter 14, "Setup and Deployment", a solid discussion of the deployment technologies available in Visual Studio: the easy-to-use ClickOnce, and the much more flexible setup projects. MacDonald gives a thorough walkthrough of using ClickOnce, and covers some of the options available in setup projects. A more complete example of a setup project is available in the code samples on MacDonald's web site.

The content of the book is well-written and balanced. MacDonald has included lots of tips, tricks, and guidance on getting to know VB 2005. He also points out shortcomings in the language and the IDE, and places where the new(er) user may have difficulty figuring out how to use the updated features.

The Book of Visual Basic 2005 is a good introduction to VB 2005. It’s well worth reading with highlighter in hand, to make note of the many useful guidelines and recommended sources for more information that it provides. Experienced VB developers will find this book helpful in getting a handle on the most recent .NET version of VB. It isn’t a reference resource, though, and after some time working with VB 2005, readers will likely find they’ve outgrown this book and moved on to more comprehensive sources. The Book of Visual Basic 2005 will have successfully fulfilled its purpose.

Tami Morse McGill is Catalog Librarian, University of Wyoming Libraries.

Copyright  2007 by Tami Morse McGill. This document may be reproduced in whole or in part for noncommercial, educational, or scientific purposes, provided that the preceding copyright statement and source are clearly acknowledged. All other rights are reserved. For permission to reproduce or adapt this document or any part of it for commercial distribution, address requests to the author.


Technology Electronic Reviews (TER) is an irregular electronic serial publication of the Library and Information Technology Association, a division of the American Library Association, 50 E. Huron St., Chicago, IL 60611. The primary function of TER is to provide reviews of and pointers to a variety of print and electronic resources about information technology. Resources include books, articles, serials, discussion lists, training materials, bibliographies, and other items of interest to librarians and information technology professionals. The topics covered may include, but are not limited to, networking technologies and standards; hardware and software; operating systems; databases; specific programming languages; management tools and utilities; technical project management; training and personnel issues; library perspectives; and research and development.

Opinions expressed in this publication are those of the writers and do not necessarily represent the viewpoints of LITA, ALA, or organizations involved in the storage and/or distribution of the publication.

TER is distributed electronically via Internet. There is no subscription fee.


LITA provides its members, other ALA divisions and members, and the library and information science field as a whole with a forum for discussion, an environment for learning, and a program for action on the design, development, and implementation of automated and technological systems in the library and information science field.


LITA home page | TER home page