Pablo’s Topic of the Month – April: Advanced Language Patterns for Visual Basic

Pablo’s Topic of the Month – April: Advanced Language Patterns for Visual Basic

Following on the coat tails of last months’ Pablo’s Topic of the Month – March: Leveraging XML for Computationally Expensive Operations, I’d like to announce the new PTOM for April:  Advanced Language patterns (for Visual Basic).

We (the Los Techies crew) have been discussing this month’s topic vigorously for the past few weeks and we’re really excited to announce the highlights of this month’s topic.  Over the next few days and weeks we’ll be doing an article storm (the new ‘weblog’ people call it ‘blogging’, but that will probably never catch on) on the subject of advanced language patterns in Visual Basic.  With the recent SP6 release of Visual Basic last summer (1998), several new and exciting features have opened up new possibilities with this exciting, robust (and enterprise Hah! Take that C++ know nothings!) language.  We plan on going pretty deep on these subjects, so please stay tuned and we welcome all your feedback and comments (except those from the the C++ guys — don’t bother, they’ll be summarily deleted without ceremony because we don’t need to free pointers. SNAP!).

If you haven’t already, please consider subscribing to the Los Techies Main Feed so that you can see the various post from the other Los Techies bloggers.

The main feed is here:  http://feeds.feedburner.com/lostechies

Advanced Topics for Visual Basic

With the advent of much-anticipated Visual Basic 6, we now have the possibility to explore the benefits of having a fully object-oriented language with modern language concepts such as ‘memory handling’, ‘reference counting’, ‘string concatenation’, and the (magical and wonderful, in my opinion) advanced IDispatch support.

The topics we plan on covering are quite broad and include:

Advanced Error Handling

Visual Basic 6 will be known for a long time for how it eliminated bugs due to it’s comprehensive and first-rate structured error handling system. We’ll do a series of posts on advanced features such as:

  • On Error Resume Next
  • On Error Goto (label)
  • On Error GoTo 0

Advanced Web Page Creation with WebClasses

Much to our chagrin, it appears the Web is here to stay. Fortunately, Microsoft has provided for us a world-class, top-notch Enterprise web framework that is sure to be the mainstay of web programming for the forseeable future known as ‘Visual Basic WebClasses’.  Just imagine the sheer, raw power of in-memory, in-process VB6 code executing directly in IIS’ main process space. This will definitely put to shame anyone who thought parsing script text files in ASP will ever catch on. Sorry folks, WebClasses is the future.

  • Stateful web patterns using VB6 Web Classes
  • Making the web seem more like regular Windows Programs
  • Avoid writing any HTML and use advanced, high-performance VB6 string concatenation techniques

Advanced Object Oriented Programming

For many years we have been chided and derrided by the C++ slogs about how VB isn’t ‘really OO’ whatever that means. Well, with the advent of VB6, we finally have a FULL OO implementation including Interfaces. Take THAT C++. Don’t bring no weak pure virtual abstract class action here! This is hard core enterprise programming now!

  • Defining and using interfaces with VB6

That concludes the list of OO features in VB6.

Strongly Typed Data: Variant V_TYPEs

When dealing with more crude systems which do not have VB’s wonderfully adaptive and presumptive typing system (*cough* C++), it may be necessary to actually have to pigeon-hole your data into ‘strong types’ by understanding how VB stores data in memory  and how it’s marshaled to systems outside the glorious VBRuntime.  I know, I know, I thought we were past this too, but apparently some people find it necessary to still run code outside of a managed runtime environment like VB6 and so we must come down to their level.  Posts about this subject include:

  • Defining variant subtype with V_TYPE
  • Rewriting C++ code in VB6 without having to understand pointers (not sure if we’ll get this one done by the end of April, that remains to be seen)

Ergonomic Considerations for new Drag and Drop Coding Features

VB6 has brought us even more opportunities to drag and drop our way to success without having to write much any code! But with great power also comes great responsibility. Many VB6 users have reported ‘mouse hand’, so it’s important to remember that, despite our ridiculous RAD productivity, we still are mere mortals and our hands CAN break. So take care, the VB6 programmer hands are a temple, after all.

  • Using other fingers for the Left Mouse Button: The Double Deuce
  • Using your left hand for dragging
  • Add-ons with Mouse Gesturing capabilities

Many different OPTIONs

VB6 is frighteningly customizable. In fact, one of the customizations is to control how the interpreter compiler treats your finely crafted code. We’ll explore these various options and how they can be helpful or harmful

  • OPTION BASE
  • OPTION EXPLICIT
  • OPTION STRICT (warning: Avoid this one like the plague, it restricts your creative expression entirely!)
  • OPTION COMPARE (Love this feature, totally change the way the entire app works with one keystroke, totally awesome!)

Related Articles:

Post Footer automatically generated by Add Post Footer Plugin for wordpress.

About Chad Myers

Chad Myers is the Director of Development for Dovetail Software, in Austin, TX, where he leads a premiere software team building complex enterprise software products. Chad is a .NET software developer specializing in enterprise software designs and architectures. He has over 12 years of software development experience and a proven track record of Agile, test-driven project leadership using both Microsoft and open source tools. He is a community leader who speaks at the Austin .NET User's Group, the ADNUG Code Camp, and participates in various development communities and open source projects.
This entry was posted in 1998, Humor. Bookmark the permalink. Follow any comments here with the RSS feed for this post.
  • http://www.mattblodgett.com Matt Blodgett

    Are you bein’ sarcastic, man?

  • http://chadmyers.lostechies.com Chad Myers

    @Matt

    Wha? No way man, I’m OPTION EXPLICIT all the way, baby.

  • http://www.mattblodgett.com Matt Blodgett

    Sah! Nap!

  • COBOLDan

    Yee haw! Looks like its finally time to get me some of that GUI stuff. Cant wait to get away from these damn blue screens. This will work with ISAM right?

  • http://devlicio.us/blogs/sergio_pereira/ Sergio Pereira

    Way to go Chad. It’s about time something exciting happened in our beloved VB world. Next, VB on Vails.

  • http://jimmybogard.lostechies.com Jimmy Bogard

    I think I’ll start with VVV. Similar to MVC, except allll View baby.

  • Perry

    Look at the date dudes! April Fool!

  • http://www.sullivansoftdev.com/blog Brian Sullivan

    Hilarious! “The Double Deuce” had me rolling.