Dave Horner's Website - Yet another perspective on things...
412 guests
Rough Hits : 3852900
how did u find my site?

what's a matter

"[Programmers] are attached to their programs. Indeed, their programs become extensions of themselves - a fact which is verified in the abominable practice of attaching one's name to the program itself..." --Gerald M. Weinberg, The Psychology of Computer Programming
$$e = \sum_{n=0}^\infty \frac{1}{n!}$$

Visual Basic - Imports Daves.VB.thoughts.

Thursday, 15 October 2009 23:36
Visual Basic is a fine language. I've written applications in VB6 and VB.net. It was the interim for .NET and ultimately ends up very similar to all the other languages supported by the CLR. COM was something that required knowledge to build properly and get right; but interfacing and banging out scripting around those components were kids stuff once the interface was queried all all those wonderful properties and events exposed themselves for all to manipulate.

I would like to add that I do appreciate the xml literals they added to VB. This is actually a very cool addition.

There are some things to be aware of though...

Short-circuit in VB

VB does not evaluate a logical AND like other languages you might be used to. If the first term evaluates to false, it will still try and evaluate the rest of the terms...instead of just continuing on...
Description of "short-circuit" evaluation in Visual Basic

Default nullable type in VB

If you want to have an optional boolean value...you'd think you could use nullable type.
Function SomeFunc(Optional ByRef someFlag As Nullable(Of Boolean) = Nothing)
But VB will give you the error: Optional parameters cannot have structure types.
UGH! Instead, you might try the TriState Enumeration...which does work.
Function SomeFunc(Optional ByRef someFlag As TriState = TriState.UseDefault)