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.
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*.
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.
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...
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.