Author: Bryan Newsome
Reviewer: Ian Elliot
This is a rare "beginner's" book because it actually does try to talk to the complete beginner. It covers very basic ideas such as what is a variable, data types and so on. But does it try to cover too much?
Although this is indicated as a first edition it is in fact an update on Beginning Visual Basic 2010. The book now only has one author and it is now down to 16 chapters.
There is also a tendency to tell the reader everything there is to know about a topic. For example, when the Visual Studio IDE is being introduced a complete list of toolbar icons and their meaning is given. In most cases the beginner can ignore the majority of toolbar icons and simply concentrate on understanding the few that are needed to create a program. In short there is far too much information for a beginner struggling to understand the basics. The final straw is that there is a section on Hungarian notation which certainly isn't "must know" information if you are trying to write a "hello world".
What this means is that it takes a very long time to get to the usual Hello World program, which is also more complicated than it needs to be, involving a button and a textbox and lots of explanation of things on the way. There is also a lot of initial history of Microsoft, Basic, Windows, and the whole .NET project in Chapter 2 which simply gets in the way - it would make a good appendix or other optional reading but it simply slows the progress of the book. It is also a little dated given that Microsoft doesn't seem to regard .NET as a priority any more.
The book introduces each topic using a standard format. First we have a short motivating paragraph, then a section headed "Try it out" which is a step-by-step recipe for doing something and finally a How it works section. Again this is all very detailed and often goes into the deeper workings.
For example, in a very early discussion of data typing in chapter 3 we have an explanation of how dates are interpreted according to the locale settings. If a beginner is struggling with the difference between a number such as 10 and a string the looks the same, i.e. "10", and drowning under floating point number and integers in all their lengths, surely a discussion of the way a date format is set by the locale could be put off until later.
Chapter Four deals with the flow of control and control structures in general and the same comments apply. It's all explained in very simple terms but somehow it just looks complicated and its excessively complete for a beginners introduction.
From here we move on to data structures, an overview of creating a Windows application and using dialogs. In each case there is too much information for a beginner. For example the chapter on data structures starts with a gentle look at arrays and how they fit in with loops which is exactly what you need to tell a beginner but then goes into enumerations and collections. Notice that we haven't tackled classes and object yet so dealing with collections is a little on the early side.
Chapter 9 is about creating menus and 10 is on debugging. It would probably have been better to deal with these disconnected topics after Chapters 11 and 12 have introduced classes and objects. The two most difficult things a beginner has to learn about are flow of control and objects. In this book objects are not at the core of the approach as can be seen by the fact that they are introduced as late as chapter 10. Chapter 12 explains some advanced ideas by way of an extended example.
The final part of the book goes into a random collection of advanced topics which are valuable to the intermediate programmer but not really within the reach of the beginner. Chapter 13 is on SQL, 14 is on using SQL via ADO.NET. Chapter 15 is on building a dynamic web site; ASP .NET. All topics a beginner might have to learn but only if they actually want to work with a database, an ASP .NET web site etc. There are so many core topics that aren't covered by this book that it is a shame that the level has to ramp up so fast to cover these more exciting sounding topics.
The book closes with a chapter on deploying apps and a look at Windows 8, which indicates that might be just a little out of date already. This is forgivable, but why have a chapter on universal apps at all? It isn't enough to help and it doesn't really do anything for the beginner who is trying to learn VB.
This is an over-ambitious beginners book. If you are a real beginner then you will find it tough going unless you are prepared to put in a lot of time reading, digesting and trying things out. The alternative to the painstaking detail provided in this book is to tell the beginner the big ideas - make them make sense in a simple example and then let the beginner extrapolate.
If you are looking for a brute force approach to learning Visual Basic 2015 and have plenty of time to work at it then this book will work but there are better ways. The book might better suit a programmer wanting to move from another language to VB 2015 but this is probably a small audience these days.
To keep up with our coverage of books for programmers, follow @bookwatchiprog on Twitter or subscribe to I Programmer's Books RSS feed for each day's new addition to Book Watch and for new reviews.