Visual Basic - On The Outs

It’s hard not to like Visual Basic. For most developers it’s like a good old hat - comfortable, undemanding, it does what you want it to do and is filled with memories of many of our very first “Hello World!”‘s (or, if you’re like me, similar sentiments expressed in enthusiastic vulgarities). Sure, it doesn’t really look like anything else and hence only helps you with, well, Visual Basic. Fine, VB 6 leaked memory faster than water into the Titanic. Still, it’s hard to toss a good old hat away after years of fine use.

Of course, Microsoft made it a bit easier when they monkey-stomped (read: dropped support for) VB 6, despite letters of appeal from a couple hundred Microsoft MVP’s. Now if you want to program in VB, you have to do it in .NET.

You can program in VB in .NET. Heck, with the magic of the CLR, you can program in Cobol in .NET! .NET, however, really wants to be a C# environment. Microsoft pushes C# more, and if Microsoft decided to program in .NET one day** it would most certainly do so in C#. Developers tend to like C# because it’s syntactically and structurally similar to C, and as C is the doting grandparent of lots of languages (Javascript, Java, PHP, etc.), learning it makes it easier to learn a lot of other things. If you are Googling for .NET sample code, most of the time you’ll find C#.

A recent eWeek study found Visual Basic usage “eroding rapidly”, with developer use of the VB family down by 35% since last spring. VB.NET usage was down 26% over that time period. I don’t think VB developers are getting heckled like Fortran coders yet, but I don’t see anything on the horizon that will extend VB’s life span either.

Ah, my old hat. I think it’s finally time to put you out to pasture. Sniff.

Ever the fair-weather fan, if I take on another .NET project (ug), I’m going to roll up my sleeves and do it in C#.

As apposed to VB.NET. VB.NET doesn’t leak memory. Everything .NET leaks memory.

**Microsoft developers themselves are not particularly big fans of .NET. One of the many reasons Vista was several years late was Microsoft’s attempt to write parts of it in .NET. Horrified at the result, they quickly retreated to C++. You’ll be hard pressed to find anything written in .NET on Vista. Surely the new Office 2007 suite is .NET you say! Nope - C++. It’s a sad fact that if you want an OS with a lot of .NET applications built in, you have to use Linux - Novel’s SUSE Linux actually has a lot more .NET applications (under the Mono project, an open source .NET compiler) in it than Vista does. Not exactly a ringing endorsement of .NET when it’s progenitors won’t use it……