Coding Horror

programming and human factors

The Slow Brain Death of VB.NET

It's amusing that the very people defending VB.NET are, ironically, illustrating precisely why VB.NET is in such trouble:

I just want to make it clear that I am one MVP that does NOT intend to sign this petition about VB. And by the way, my background is mostly VB, with some Delphi thrown in, although I prefer C# now.Paul Wilson

Meanwhile, as I got deeper into ASP.NET and VB.NET, it became more and more clear every day that to use .NET I had to think differently. I struggled with that even after switching to C#Jeff Putz

VB.NET is so awesome of an upgrade, in fact, that these noble defenders of the faith chose not to use it.

And they're not alone. Either VB developers are choosing not to adopt VB.NET at all, or they're making an opportunistic switch to C#. In droves. Visual Basic developers, once the largest block of developers in the world, can no longer make that claim. Forget the ridiculous VB6 petition – that's what these guys are really complaining about. And they have a point:

This isn't conjecture. Independent market researchers across the industry (i.e., those not dependent on Microsoft's financial support) report a steady decline in the number of VB developers worldwide since the release of VB.NET. Is this the swan song for a hard-working, approachable language that was once the planet's most popular programming dialect? Here's one of many compelling examples. Note that, while declining, classic VB still tops the list, while VB.NET brings up the rear.

There's a lot of hard data to support this disturbing loss of mindshare for Visual Basic. I've personally observed it happening over and over since .NET was released in late 2001. Have you seen this Visual Expert developer survey that Dino Esposito pointed out?

VB 6.x 78%, VB.NET 19%, VB 5.x 2%

Those are truly abysmal adoption rates. And how about this 2003 Evans Data Corp survey:

43 percent of [Visual Basic] developers surveyed plan to cut back on their use of the popular Microsoft development platform. Of those saying they plan to reduce their use of Visual Basic, 37 percent plan to migrate to Visual Basic .Net. – largely from Visual Basic 6.0. 31 percent said they plan to move to Java and 39 percent said they will be migrating to C#.

This is a very real trend, and it spells one thing: the end of Visual Basic's role as a dominant, driving force in software development. And why does that matter? A fellow VB.NET developer challenged me in a response to one of Paul Vick's blog entries:

If you (and I use "you" in the general sense here) woke up tomorrow and found yourself to be the only language VB programmer left, would you still code in VB? The answer to this question shows whether one is a mature independent thinker or just a sheep following the crowd.

This entire statement runs counter to the spirit of Visual Basic. We'd have to be the crappiest mature independent thinkers ever if the best "radical" language choice we could come up with was VB.NET. Our choice of language is driven by purely pragmatic reasons. We use VB because we want to be part of the herd. VB developers are smart: they realize that moving with the herd confers certain advantages.

moving with the herd

A huge part of VB's productivity story was the market potential of such a large group of developers. Choosing VB.NET, in the current state of the .NET world, is unusual. And that's fundamentally at odds with the design ethic and history of the language. This isn't Ruby, or Python, or Haskell.

In the old VB world, you could cherry pick the best third party tools from huge catalogs. The market was so vast that vendors would be nuts not to offer a VB-specific version of their product. But in the current VB.NET world we're living in, there's no VB.NET version of Resharper. And this phenomenon isn't limited to third-party tools. Code samples. Enterprise library. Open-source projects. You name it, it's easier, faster, and better in the language that the rest of the herd is using. Which is something VB used to have going for it.

Now, not so much.

Written by Jeff Atwood

Indoor enthusiast. Co-founder of Stack Exchange and Discourse. Disclaimer: I have no idea what I'm talking about. Find me here: http://twitter.com/codinghorror