If I gave you $200 to spend on VB, how would you spend it?

If I gave you $200 to spend on VB, how would you spend it?

  • Comments 39

I spent the last few weeks using VB, and I kept thinking things such as “Wow, this is really awesome, I wish all other languages had that!” or “I’m sure there is an easier way to do this”. I simply can’t help it - just as with any other language, when I start using it I notice a few things that are really cool, and a few things that can be improved.

So, I had my very own list of what was really cool and what could be better, but then I wondered – how did other VB developers feel? And, what is a better way to answer a question like this than actually asking the community? Why not put a blog post and see what people think about the VB IDE/language features?

To make things really simple, I prepared two questions for you:
1. If you had $100 to spend on keeping existing VB features unmodified, how would you spend it?
2. If you had $100 to spend on adding new things to VB / improving existing functionality, how would you spend it?

And then if we take everyone’s $200 and add these numbers together, we will get a pretty accurate picture of what we are doing right and we could do even better. So, help us do our job better!

Just as an example, here is my answer to the first question. I tried to keep the list as short as possible, but there are some things that I really wanted to mention, so I couldn’t make it shorter than that :)

Preserving current functionality:
- $40 – Ubiquity. I can use VB to create Web apps, Windows Forms apps, Smart Device apps, MS Office scripts, etc. You can learn one language and pretty much do anything with it – that is really the best part about VB to me!
- $30 – Really smart Intellisense and instant feedback while I’m writing code – I can see syntax errors without explicitly compiling my project. I just love that!
- $20 – My! Yesterday I had to write a small script and I don’t really think I could have written less code in any other language. My.Computer.FileSystem.ReadAllText, My.Computer.Network.DownloadFile, My.Computer.FileSystem.SpecialDirectories.MyDocuments, etc. – just a few of the really, really cool things in My.
- $10 - The “dynamic” part of the language and the syntactic sugar – implicit late binding, optinal parameters, with…end with, etc. It makes a huge difference!

So, what are your lists?

Leave a Comment
  • Please add 7 and 4 and type the answer here:
  • Post
  • The following example may clarify some of the suggestions above. (Yes there is a size limitation so I have cut in the example ) It would be nice if this function was valid code:

    I apologise for the messed up indention and the duplication above


  • I will give you $1000 to turn off VB....it's not even language..

  • $50 for removing line continuation mark _

    $50 for removing the need for Dim

  • $100 for My class. It rock!

    $50 for reduce bloated VB language. Get rid of crap keyword like Dim and all the un need keyword

    $50 for running VB.net on everything including Xbox 360. it is not fair that only C# programmer get to have all the fun.

  • Things to keep

    $30 The very verbosity others have complained about. End If/End Function etc. are part of the reason that VB is so readable. You get to the bottom and you know what's ending without having to trace back through an ugly mess of nested indents with curly braces. Unless you're writing VB in Notepad, there's no extra typing anyway.

    $30 Case insensitivity, with the IDE keeping the case consistent.

    $30 Automatic code formatting. Eliminate as much individual style as possible. If I have to pick up someone else's code and read it, I want to spend my time figuring out what steps they're taking, not stumbling through their wacky indenting style.

    $10 Intellisense

    Future priorities:

    $20 Do even more to improve readability and minimize code style creativity. For instance a lot of coders have different ways of dealing with a line running off the screen or long lists of arguments. The IDE should take care of the wrapping. The more aspects of code style you can eliminate from the coder's control, the better.

    $15 Maintain parity with C# features. I can't have C# snobs lording it over me for a whole version until VB catches up (e.g. Iterators). There should be absolutely no reason to use C#, ever, except maybe masochism.

    $40 Code that writes code. I'm not so sure I want to go back to the days of Eval, but at least it was something. There ought to be some way to do dynamically generated functionality. It would fill a lot of gaps.

    $25 More high-level ways to safely handle complex multi-threading scenarios.

  • Why do people dislike vb so much??Isn't the purpose of it to make things easy as possible for the programmer

  • Wow, that's so awesome, I love how people are engaging! You are helping us do our job better, thanks for doing that!

    Keep posting so that we can get as many opinions as possible and identify what are really the most important features for the VB community!

  • $30 - Implicit casting

    $40 - Case insensitivity

    $30 - Great IntelliSense in VS2008


    $30 - Maintain parity with C#

    $50 - Portability to Linux :)

    $20 - Do something to VB reputation

  • $50:

    Instead of getting rid of the underscore, perhaps leave it up to the editor to add it automatically when I end a line with comma or ampersand etc.  So I second the idea above to leave it up to the IDE to do the code formatting  when splitting up across lines.


    Automatic properties - I would have expected them in VB long time ago

  • I like it how it is right now.  I'd pocket the $200 bucks.

  • I would give $100 to have an VB check to see if my system had the required componets for a new project i'm considering working with, and then retrieve them if needed for what ever system I was on. Strickly for developers systems.

  • $5 ability to kill My infrastructure for Class Library projects without manually editing project files.

    $10 C# iterators

    $20 better array and collection initialyzers

    Dim a as String()()={{"a","b"},{"c"}}

    Dim b as Point()={(x1,y1,z1),(x2,y2,z2)}

    $10 keyboard shortcut to show types/namespaces list to write some static metod call

    $10 for less bright ASP.Net color scheme. (I swear I saw it the first time I installed Beta2!)

    $20 I don't know how it can be done, but... underscore!

    $25 better anonymous methods, lambdas and expression trees support. And it would be really cool if I could get expression tree from my existing function and modify it

  • $50 - leave current features alone (except to add or fix functionality)

    $20 - make the TextFieldParser class part of the BCL

    $30 - add "Treat Consecutive Delimiters as One" to the TextFieldParser class (think Excel)

    $40 - ability to use types declared in the current project to My.Settings

    $60 - show available shadows/overloads/overrides on ALL available methods/properties within context when keyword is typed (similar to overrides keyword) instead of having to lookup the signature of the item you are trying to shadow/overload/override.

  • I would give $100 for a more comprehensive combo box that would do columns, column sorting along with type ahead feature.  

  • I would spend $100 on making things simpler.  For example, I tried to use VB Express 2005 to create an .EXE file for our internal use.  Where did the created .EXE file go?  The IDE was little help.  And, no, it didn't actually produce an .EXE file but deploy and manifest files.  I finally (sort of) figured it out, but with little help from the VB IDE.  Another example, the process of using databases seems to have changed in a major way.  Using the help features hasn't produced much of actual help, though apparently there's a powerful new super helpful feature called the Binding Component.  A clue!  (I hope.)  Because the data samples of the 101 Code Samples are installed somewhere, but how to actually access them isn't clear ...  Sigh.

Page 2 of 3 (39 items) 123