Lazycoder

30Jan/082

VB wasn’t so bad, well kinda

From Ted Newards blog, comments from the Lang.NET language symposium.

Editor’s Note: I don’t know what Visual Basic did to anger the Gods of Computer Science, but think about it for a second: they were a dynamic language that ran on a bytecode-based platform, used dynamic typing and late name-based binding by default, provided a “scripting glue” to existing applications (Office being the big one), focused primarily on productivity, and followed a component model from almost the first release. Then, after languishing for years as the skinny guy on the beach as the C++ developers kicked sand on their blanket, they get the static-typing and early-binding religion, just in time to be the skinny guy on the beach as the Ruby developers kick sand on their blanket.

Oh, and to add insult to injury, the original code name for Visual Basic before it got a marketing name? Ruby.

Whatever you did, VB, your punishment couldn’t have fit the crime. Hopefully your highly-publicized personal hell is almost over.

While I agree about the dynamic typing and so forth. The reason VB got kicked around was:

  1. The CS majors thought that it promoted bad code written by bad developers. In reality, it promoted bad code written by inexperienced developers which still managed to meet whatever dorky requirements they had for the tiny application they were writing. Which is OK in my book. You weren’t writing eBay in VB, you were writing Sally’s strudel recipe database.
  2. A complete and utter lack of pain-free inheritance. Sure you had editor inheritance, but that’s no way to run a language.
  • David

    One of the things I hated most about VB is having no shortcircuit boolean operators. Seems trivial I know, but it meant you couldn’t do (in pseudo-VB):

    If (Not (something Is Nothing) And something.IsValid)

    because it would evaluate both sides of the And. Forced you to use lots of nested ifs or guards. Ugh.

  • Pingback: Jason Haley

  • http://thinkersroom.com/bytes Rad

    @David

    I’m a C# man myself but i have no problem breaking out ye olde VB Editor. They added a keyword to the language to support shortcircut booleans — AndAlso I believe it is