Explore Videos MSDN eNews Social
Visual Studio
Canada Does Windows Azure
The latest on developer tools and technologies you care about.

Sign Up
Latest Editions
Previous Editions  
Stay connected through on your favourite social network.


Do You Code in Visual Basic?

Do You Code in Visual Basic?

  • Comments 30

"Visual Basic" graphic from the old packagin In my capacity as a developer evangelist for Microsoft, I’ve posted mostly C# code. I find that languages like Python and Ruby are very good not just as languages for production code, but also as great prototyping or “sketching out an idea” languages, and since Microsoft makes IronPython and IronRuby, it makes sense for me to post code in those languages here as well. Steve Yegge may have been exaggerating for effect when he wrote that JavaScript is the most important programming language in the world, but it’s still quite important to know, and I’m sure that I’ll post in it sometime soon. Visual Studio 2010 puts F# front-and-center, alongside the other programming languages, and you’ll probably see F# code in this blog in the coming months.

But what about Visual Basic, the direct descendant of the programming language that gave Microsoft its start?

I used to make a living writing custom Visual Basic applications for small- to medium-sized companies back in the 1990s, before the .NET era. It was the quickest way to build a fully-functioning Windows application. The drag-and-drop approach to building an interface meant that my business partner, the business rules/human factors guy, could build simple prototypes off which I’d build the actual program. The low barrier to entry presented by the Visual Basic language meant that our customers – who knew their business much better than we did -- could make changes to the code (they’d make mostly small changes, but they appreciated not having to call us and pay a consulting fee for every little change).

I haven’t touched Visual Basic since those days. I remember the “Visual Fred” fuss that some developers made when Visual Basic went .NET; they said that Microsoft had ruined the spirit of the original language and simply turned it into C# in Basic clothing. I remember reading articles that said that given the choice between coding in Visual Basic.NET and C#, you should pick C#, partly for technical reasons, partly for financial ones (they hinted that people would pay a “C# developer” more than a “Visual Basic developer”.

C# seems to have “preferred status” in the world of managed-code .NET, judging from a quick look at the books and sites out there. I personally prefer it to Visual Basic .NET, but I wouldn’t be doing my job if I were ignoring an audience of Visual Basic developers. So I thought I’d ask you, the people who build on Microsoft’s platforms: Do you code in Visual Basic?

And if so, do you do it because it’s your preferred programming language? Or it is because your company has standardized on it? Or that you’re maintaining projects written in VB.NET? Or something else?

And just as important, if I post code examples in C#, do you want me to post equivalent code in VB.NET, or are you happy to work it out on your own?

Let me know, either in the comments or drop me an email. I’d like to know, because I’ll use that information to shape future articles on coding.

Leave a Comment
  • Please add 2 and 6 and type the answer here:
  • Post
  • No. Why would I or anyone beyond those forced to use VB, use it. It is like apple's applescript. Utterly braindead and proprietary. It is not fun to use, it is not even easy to use.

    All the abstraction is in all of the wrong places and people who are forced to use it tend be on the lowest end of the programming spectrum.

    Let me make this clear, if you CARE about programming and are GOOD at programming, you would not choose to use VB.

  • I had to code in VB.Net only a few times since I switched to C#, and only to maintain existing code.

    I am finding C# much more elegant, easier to read and much more pleasant to work with compared to VB.Net. But, that's my own opinion...

  • I only code in Visual Basic, because I have to. It's for my part-time job with a startup and my friend had already started on a ASP.NET app in VB. I don't like it, in fact, I'm growing to hate it.

    I think it's the fact that it's close to C#, but with important differences that make development frustrating. I had one of those differences bite me last night. I was trying to initialize the Castle ActiveRecord framework in global.asax, but the example code was in C#. One of the arguments is a typeof(<some object>). Now, Intellisense will show TypeOf keyword for VB, but the code will fail to compile, since it's a different semantic from typeof keyword in C#. The proper statement in VB is actually GetType(<some object>), as you probably know.

    It's crap like this that makes it hard to write VB code, especially if parts of your project are C# or IronPython or IronRuby or whatever.

    So, while I'd love to see F# code, I wouldn't particularly want to see VB.

    Sorry for the rant.

  • I guess I'm too young to have coded in VB6 (or less) but I have started in .NET development with VB.NET. I then went over to C# and today it's my preferred language. But I have no problem with moving over to VB and back to C# when needed. Almost every previous job that I had required at some point to know "the other" language.

    Anyway, I've got nothing against VB.NET, but C# won my heart :)

  • Clint: I get the feeling that Bill Gates felt a disturbance in the Force when you typed in your comment. Thanks for letting us know what you think!

    Ruslan: It's your opinion we wanted, so thanks for expressing it!

    Srdjan: Oh yes, you *will* see some F# code here. I may even get some guest articles written by the guys at the local F# user group here in Toronto. (Yeah, there's a user group for just about every language here -- there's even an Erlang pub night, which I have to drop by sometime.)

    Rachel: Thanks for the feedback!

  • VB is a wondeful language, for what it did.  I'm a C-style guy...I like my curly brackets, but VB did have a certain something for it's 'end' keywords.  It's great for students, and if you want to make xml literals.  Otherwise, stick to C#.  Or even C++... Now that(!) would be fun.

  • I do a lot of coding in both C# and VB.net as well as VBscript.  I started out as a VB6 coder - easy to get a UI written as well as being the standard for office automation work.  For .NET projects, I prefer C#, but everyone once in a while still end up working with VB.net for projects that I have taken over from others.

    I still use VBscript, for quick and dirty scripting jobs, simple Office automation, and system administration work.

  • We have a LOB project in conjunction with Autodesk Consulting that is currently in VB6 and in plans to upgrade to VB.NET.  It's easier to hit the ground running with VB than anything else.

  • VB is for *losers*.

    Thank you!


  • what i can say is that VB.NET makes you lazy!

  • I recently converted a series of C# code generation templates to VB.NET. During the side-by-side port I  was constantly reminded of why I choose C#. The amount of typing required to complete complex statements in VB.NET is easily 2 to 1 over C#. My hands don't appreciate that.


  • My first taste of programming was VB6. From there, I tinkered with several other languages including JavaScript, Java, C++, and Scheme. Now, VB.NET is my primary go-to language when working in .NET. I have a number of projects in VB.NET, and some in C#, but I just prefer VB. I've always like the explicit, English-like syntax, I think it's quite readable.

  • VB was where I started in HS... then later moved on to Java... I did a lot of work in corp america in VB and VB.Net and later moved to C# mostly for the tooling as it had prefered status. I continue to use VB.Net and VB as required while maintaining projects that are written in them.

    SO in short... I use VB.Net sometimes but less than I used to ... and that is kind of a shame..

  • I learnt VB in high school, then moved on to java and python during University.

    However, when I started working, I had to do a lot of VBA, since I was working primarily with access, excel, word, infopath applications.

    Now at my current job, I am working with asp.net, and the company has chosen to use VB.NET.

    So what's my verdict? I like it. My favourite language still is python, but I don't mind VB at all. Its quick and easy, satisfies most of my needs, extremely easy for making prototypes, mock ups, etc...

  • For the most part, I code in the language that my client asks me to use. Lately that has been C#, VB, and JavaScript.

    Personally I don't have a preference between VB and C#. For certain specific tasks I'll lean towards one language over the other (Office automation is currently far easier in VB for example) but those tasks are generally edge cases. For the vast majority of day-to-day development, I find the two languages and their associated tools to be functionally equivalent.

Page 1 of 2 (30 items) 12