The Church of VB.Net

The Church of VB.Net

Monday 28 April 2008

Anyone that knows me has probably heard a significant rant in the past about how I don't really perceive VB.net to be a programming language that anybody in their right mind would choose to write software in.

I genuinely don't understand how any rational minded programmer, even a beginner, would look at Visual Basic.net and look at C#, and think "hey you know, that VB syntax looks great, easy to use!  I'm sold!" and I've always believed VB.net was a marketing hack that Microsoft practically had to engage in to provide a viable and "friendly" upgrade path to the millions of VB6 users around the world without turning around and saying "you know, VB6 has serves us well, but we dropped the ball on it really, we're not going to continue evolving the product".  I mean, effectively they did that, they didn't actually evolve VB6, they took C# and practically mashed VB syntax over the top of it.  It reeks of a horrible hack.

I really believe they did this just to keep the VB name alive, rather than for any compelling technical reason, when really it's just an old dog waiting to be put down.

Now you see, the obvious thing is that it's all the same old CLR underneath it, and as such there isn't much of a debate about which language is technically "better" or not (and that debate would be half a decade old if it were to exist), VB now lacks some of the more modern .NET3.5 features and is slowly becoming a second class citizen, but fundamentally, in the .NET ecosystem once you get down to the CLR, we're all equal.

Age old debate, but I was looking around the web for (something unrelated that I can't even remember now) and stumbled across the web site of a guy who appears to be a competent and knowledgeable developer, yet somehow appears to be preaching the graces of VB.net from the rooftops and I genuinely just don't understand how or why.  I'm all for personal choice in your syntax, but I just don't understand how some people can be so in love with the illegible chunks spaghetti code that VB and by extension VB.net end up becoming.

Obviously coding style is a human issue and not a technical one, and there is no single technical reason that would lead to this outcome, however VB tends to be positioned as a hobbyist language (BASIC does mean something after all) and I think the mind set it encourages is a haphazard one.

I guess marketing really is everything, and people perceive VB to be easier to learn due to its name, I just don't understand how somebody that can identify a "readable" application from an unmaintainable mess could champion the syntactic bitterness of VB.net.  I support both sides are valid, as my argument is a largely visual one, but readability and coding patterns make up such a huge part of solid software development and I really feel VB.net falls short "visually".

As a bit of a footnote, I also stumbled across an old Coding Horror post from back in 2004 in this context where Jeff Atwood was stating that he always converted applications back down in to VB.net.  He correctly states that the IDE is the real tool in the .NET ecosystem, so really the debate is down to how well the IDE supports either language, but I'd be curious to hear if he still had such a love for VB.net 4 years down the line.

/rant