Author: James Foxall
Publisher: Sams, 20010
Aimed at: Beginners
Pros: VB Express supplied on CD
Cons: Lacks any reasonable structure
Reviewed by: Ian Elliot
This book's plus point is the copy of VB Express bound into the back on disc. At least you can save the download time. But is it worth reading?
It's first part is about getting started and it takes you on a tour of the Visual Studio environment and gets you to build a simple example program. The first example is probably more complicated than it need be. Why worry at this early stage about giving the form a name and icon for example? Similarly why bring up the topic of adding an "invisible" control - such complexities can wait until the basics have been mastered.
Then we go over the whole user interface again with details of opening existing project, docking toobars. If you are a beginner and don't yet know what a variable is or a loop finding out how to dock a toolbar is perhaps off topic. Then at the end of the section we have a "quick and dirty Programming Primer". If the author really thinks that this is all there is to the fundamentals of programming then he has never actually taught a beginner. To have a single paragraph on variables and then to move on to using procedures is crazy.
It doesn't really get any better as far as order of presentation is concerned. Hour 3 introduces object and collections. You might have an argument for introducing objects, but collections? We haven't even been introduced to a loop as yet so what good is it to look at collections?
Hour 4 moves on to events and this isn't a bad move but again we don't really have much Visual Basic to use with events and mentioning recursive events and the need to avoid them is perhaps just going to frighten the complete beginner.
Next we deal with building forms simple and advanced and this is just more drag-and-drop user interface building with some customisation of properties - no real programming is being taught. There is even a section on MDI forms, hardly used any more and a lot of detail on tab ordering - again something that can be left until much later. The rest of the section continues in this way dealing with increasingly complex controls by basically modifying properties and finding out what they do. You begin to wonder when we are actually going to get to some programming?
It is at hour 10 my incredulity stretched to breaking point - we now have a lesson on creating and calling procedures - er what do we actually put into these procedures as we haven't be taught any VB to write anything useful? And the section ends with some helpful words on avoiding infinite recursion - why even bother mentioning recursion at this very early stage.
At hour 11 we finally meet some programming with an introduction to variables including minor data structure such as arrays - remember we were introduced to collection much earlier. Now suddenly instead of explanation we have lots of lists and tables telling the reader what is available. Next we have arithmetic. strings and date and time manipulation.
Finally at hour 13 we have an introduction to the If statement and its generalisation the Select. Then it all goes horribly wrong - the Goto is introduced. Yes it has a warning which says don't do it but there is an example! Hour 14 continues to explain the real basics of programming with a look at looping. The for loop is introduced but not simply - the exit and continue statements are mentioned right at the start. So before you have even managed to get the simple for loop into your head you are being encouraged to jump out of loops and skip iterations. Then we have the Do Loop and that's it for loops.
Now you are an expert we can deal with debugging, exceptions and object-oriented programming. Keep in mind that these are topics which come straight after if statements and loops.
From this point on we have a collection of topics that are about getting particular jobs done - dialog boxes, graphics, file handling, working with the registry and ADO .NET. For a beginner these last few topics are probably a step too far. And if you are not a beginner what are you doing reading a book that is this slow?
The individual topics covered may be well written but this book has no sensible overall structure and its mention and demonstration of the use of the Goto is unforgivable. Large parts of the book avoid the issue of programming at all by showing you how to drag-and-drop controls with minimal code added.
This is not a good book for the beginner or the intermediate programmer. Avoid it.