FREE hit counter and Internet traffic statistics from freestats.com

Monday, March 22, 2004

The Visual Basic .NET Programming Language

This book by Paul Vick, a lead architect on VB .NET and author of the language specification, crossed my desk recently and so I thought I'd write a short review for those who haven't seen it.

I'm often asked to give recommendations on .NET books (other than my own) and this one will certainly now join the list. If you're a VB 6 developer making the transition to .NET this is a reference book you'll consult often as you delve into VB .NET. This book is definitely a reference book and so you'll thumb through it when looking for specifics such as array handling, operators, attributes. However, appendix B on transitioning from COM to the CLR is one you'll want to read in one sitting as it covers all the bases very well.

Generally the code snippets are all self-contained (which I like in a reference book) and are the simplest snippet you can think of for the situation which lets you get to the core of the concept without having to unpack any other baggage. Diagrams are used sparingly although when used are very effective. For example, the one used to explain boxing and unboxing and how the managed heap looks in chapter 13 works very well. The other aspect of the book I really liked is the use of sidebars and notes in the text. Vick uses an Advanced heading on the sidebar to go a little deeper in explaining the whys behind one of his code snippets or how the CLR handles the language constructs behind the scenes. Although marked as Advanced, beginning readers will find these invaluable as they learn how the CLR implements their VB .NET instructions. Vick also includes a Compatbility heading on sidebars that explain how newer syntax or behavior relates to syntax or behavior that VB 6 developers would be familiar with. This also helps to bridge the gap.

All in all, this is a book I'd recommend to any devleoper moving to VB .NET from the VB 6 world and a good reference to have on your shelf.

No comments: