Author: Thearon Willis & Bryan Newsome
Publisher: Wrox, 2010
Aimed at: Complete beginners
Pros: Painstaking detailed explanations
Cons: Looks like, and is, difficult stuff
Reviewed by: Ian Elliot
This is a rare "beginners" 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. However, the overall look of the book is very off-putting. The text is very small and it looks as if everything has been crammed in.
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.
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 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 .
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 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. From here we move on to data structures, XAML for user interfaces in WPF, and an overview of creating a Windows application.
Chapter Eight takes us through each of the standard dialog boxes, Nine is on menus and Ten is on debugging and error handling. It would probably have been better to deal with these disconnected topics after Chapters Eleven and Twelve have introduced classes and objects. It also isn't clear that dealing with advanced topics such as building class libraries and user controls should follow directly on an introduction to the subject.
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. They are database, both Access and ADO .NET; building a dynamic web site; ASP .NET; and XML. 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.
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 2010 and have plenty of time to work at it then this book will work but there are better ways.