|
Visual Basic - Pros and Cons
Primarily based on a comparison between VB.NET 2005, and C/C++. Most arguments are also valid for C# and some also to Java. In all honesty I don't consider C and C++ fit for e.g. enterprise
applications. It's simply too easy to make mistakes.
Pros
- The language is cleaner, with no macros etc to make up for the fact that C and C++ were
designed for command-line- / console-type applications. Neither does it sport the 'patched
up' OO features of C++ (that it needs to be backwards compatible with C).
- Functionality corresponding to MFC is an integrated part of the language, again without
any "bandaiding".
- All relevant values are boundary-checked (including array indices, integer calculations etc). Of course this adds to the code size and lowers performance, but not noticeably, and it's much
better to have bug-free code than optimally fast ditto, as it's fast enough anyway.
- Due to the above but also overall, less risk of getting code crashes and spending time chasing pointer errors and other very hard-to-find bugs. You still get bugs, rest assured, but the
trickiest ones don't occur.
- The control array concept in VB6 was a clear plus when designing complex control panel type dialogs, yet I think it's gone in VB.NET.
- Automatically showing alternatives and hints for properties, methods, procedure/function
parameters etc is an excellent help, even for such you declare yourself. It's kinda magic.
- The event loop and other housekeeping is totally hidden from the coder.
- VB supports proper text strings (no need to allocate fixed size arrays, terminate with
0, deal with pointers, or other oddities) and versatile string operations (transparently
for both 8-bit and 16-bit (Unicode)). C and C++ simulate strings.
- The Select statement in VB is much better than switch in C, C++ etc, handling most data types (as it should do). Not even Java and C# have a similar switch statement.
- Proper handling of boolean type.
Cons
- If you are used to C-like syntax you might frown at VB, but actually the syntax is very good and sometimes even better. See e.g. Select above.
|