Article Options
Premium Sponsor
Premium Sponsor

Book Review: Programming MS VB 2005: The Language
by Ged Mead | Published  10/17/2006 | .NET Intermediate Book Reviews Visual Studio 2005 Visual Basic 2005 | Rating:

   At the bottom of this page you'll find a fairly comprehensive Table of Contents, but if you want the whole picture in much more detail then you should view the author's website to see the detailed contents list in PDF format.   There you will find a 14 page breakdown of the 4 Parts, 22 Chapters and innumerable Sections within each Chapter, and you can view it here.

   The first five chapters will take you through an overview of their individual topics at a bit of a canter.   If you are new to VB.NET then you may find your head whirling at this stage and you'll have that weird feeling you sometimes get that your eyes are scanning the words but it's not all going in.   But if you have used VB.NET 2002 or 2003 then I think you'll find these chapters very useful for clarifying areas that you didn't previously fully understand.  In my own case, this was the topic of Boxing and Unboxing.  I had vaguely understood the concept previously,  but the clearly written example in Chapter 2 finally enabled my woolly grasp to crystalise into genuine understanding of (a) what it is and (b)  the implications of their use. 

   This first Part is very useful as a way of reinforcing topics you have already had dealings with, reminding you of things you'd known but forgotten and, of course, to introduce you to general information that had up until now not appeared on your .NET radar.

   Part 2 covers a range of Object-Oriented Programming subjects.   These include not only those topics you may have carried forward from your .NET 2003 knowledge but also new features only now made available in VB 2005, such as Partial Classes and Operator Overloading and, of course, Generics.   In fact, the complete 36 page chapter devoted to the subject of Generics is one of the ones you can download and view in PDF format from the author's web site.   The link is here.    If you find that you can't access the page then you may have to go back a step and register with the site, which is a temporary nuisance, but a relatively small price to pay for access to the information. The website link for this book is here.

   In Part 3, the widely titled "Working with the .NET Framework", the topics of .NET Basic Types (some not quite so "basic" as others!) are covered in detail, followed by Arrays and Collections, and then Regular Expressions are demystified somewhat.   Files, Directories, Streams, Assemblies and Resources are also covered.   The brand new for 2005 My Namespace gets it very own chapter and contains more detail than I recall reading in any other source - excellent!

  Part 4 is titled "Advanced Topics", (but don't let that fool you into thinking that the preceding topics are kindergarten stuff!).   They include a monster sized chapter on Reflection, plus comprehensive coverage of Custom Attributes, Threading, Serialization, PInvoke and COM Interop.   From what I see on the VB Forums currently, Reflection in particular is a much underused and often misunderstood topic; if you haven't had much dealings with it in your VB.NET journey thus far then you should really home in on this chapter.   Inevitably some of the samples are longer than those in earlier chapters, but the effort will pay long term rewards.  You can in fact view this chapter courtesy of the dotnet2themax website.

   I wrote the quick summary above while I was working through the book myself.   It wasn't until I visited his web site today that I see that the author has included his own short version of the book contents and this is reproduced below:

Part I : The Basics
 1. Introducing the .NET Framework
(12 pages): a quick overview of basic concepts in .NET programming.
 2. Basic Language Concepts (70 pages): modules, classes, variables, arrays, operators, etc. plus what you need to know about inheritance and attributes so that you can read next chapters, before chapter 8 and 19.
 3. Control Flow and Error Handling (40 pages): If, Select, For, For Each and other basic statements; error handling, with many not-so-obvious techniques to improve code efficiency and programming style.

 4. Using Visual Studio 2005 (56 pages): the many new features of VS2005 IDE, plus many old features that not all developers know; how to write a code snippet for VS2005; templates, refactoring, and a brief but intense tutorial on VS macros.

 5. Debugging and Testing (56 pages): breakpoints and tracepoints, data tips, how to write a cusom visualizers, trace commands and trace listeners (including custom listeners), benchmarks and profiling, unit testing, and code coverage.

Part II : Object-Oriented Programming
Class Fundamentals (42 pages): the "usual" story about classes, methods, properties, etc. plus the new partial classes and operator overloading, all peppered with the description of relatively unknown programming techniques.
 7. Delegates and Events (26 pages): a small chapters with many details and secrets on how to use these VB features in real-world apps. It includes the new custom events.
 8. Inheritance (34 pages): inheritance at its best, including visual (form) inheritance and many real examples.

 9. Object Lifetime (28 pages): everything you might need to know about garbage collection, the Dispose/Finalize pattern, weak references, GC generations, object resurrection, and other advanced techniques that can take your app to the next level
10. Interfaces (28 pages): how to define a custom interface and, above all, how to leverage those that .NET provides you with, such as IComparer and IEnumerable.
11. Generics (40 pages): half of what you want to know about this new great .NET 2.0 feature (the second half is in chapter 13), including constraints, nullable types, and many examples of programming techniques that are based on generics.

Part III : Working with the .NET Framework
12. .
NET Basic Types (50 pages): working with strings, numbers, and dates at their best, including many little/big new features of .NET 2.0
13. Arrays and Collections (53 pages): arrays, jagged arrays, "traditional" and generics collections, plus many tricks for writing less code that runs faster.
14. Regular Expressions (40 pages): a reference of regex syntax, plus many practical examples on data validation, data parsing, and even code parsing. If you aren't familiar with regexs you are missing a great occasion for writing better code in less time.
15. Files and Streams (42 pages): an overview of all the types in System.IO and the many new features in .NET 2.0, including ACL support, compressed streams, and the TextFieldParser type.
16. The My Namespace (48 pages): how to use the My namespace and how to extend it as you need.
17. Assemblies and Resources (44 pages): despite of their importance, resources (either simple or localized) are used rarely and unproperly by most developers; this chapter includes a complete description of the many important features added to NGEN.

Parti IV : Advanced Topics
18. Reflection
(58 pages): there is a lot to say about reflection; among the many examples I wrote an app that generates code on the fly, a scheduler for undoable actions, and a universal comparer class.
19. Custom Attributes (46 pages): this chapter includes a few complete and nontrivial examples of how a custom attribute can make your coding simpler, for example by means of Windows Forms plugins and a framework for n-tier apps.

20. Threads (54 pages): the Thread object, asynchronous delegates, thread pool, the SyncLock statement, all the synchronization types, including the new Semaphore. Plus a section on threading in Windows Forms aoos.
21. Object Serialization (32 pages): binary and SOAP serialization, version-tolerant serialization in .NET 2.0, the new attributes for serializatoin, custom serialization, serialization surrogates, the IObjectReference interface, and more.
22 PInvoke and COM Interop (40 pages): How to interact with unmanaged code: calling "classic" DLL and Windows API methods; using COM components (including the new registration-free components); writing .NET components that can be used from COM apps.


Sponsored Links