

Is Visual Basic dead?? Yup.? Wow, hey, that might have been the easiest blog post I’ve ever written.? See ya next week!
Oh, wait.? You probably want me to justify this claim somehow, don’t you?? And then you probably want me to add support for the argument, nuance in position, and something actionable.? Alright, fine.? Have it your way.
Is Visual Basic Dead?? Let’s Define Dead: Zombies and Nothingness
First, the nuance.? To continue with the dead metaphor, let’s consider two subtly different flavors of dead:
- First, you have truly dead languages, fading into nothingness and complete obscurity.? Think, for instance, of Pascal, which has plummeted on the TIOBE index from a peak of third most popular to today’s position of 136th, putting it behind every language you’ve ever heard of and 50 you haven’t.
- Then you have zombie languages.? Zombie languages die out of the realm of first-class, maintained languages but refuse to stop running the software of the world.? I’m looking at you, COBOL.
What determines whether a language rests quietly in its grave or goes lurching around the countryside, terrorizing companies with legacy applications in their portfolio?? Well, obviously there are countless factors involved.? But I’d argue that the languages most likely to zombify are the ones that enjoyed the most prolific adoption within the risk-averse, cost-conscious enterprise.? For instance, the worlds of government and banking have no shortage of green screens and mainframe applications?upon which they rely to this day.
So is Visual Basic dead?? Again, yup.? But I would argue that it’s a zombie language rather than a language fading to nothingness.? As an industry, we collectively rapid-prototyped a lot of WinForms and VBA things into existence, many of which keep chugging along to this day.
But, But, But…
I’ve introduced nuance but not really any reasoning or evidence so far.? And I can imagine some objections to what I’m saying.
First of all, Visual Basic has proven to be a lot more malleable over the years than most other programming languages.? In the early days of BASIC became Microsoft Basic (and Microsoft’s first product).? Then in 1991, Microsoft released Visual Basic, which was a groundbreaking drag-and-drop programming environment.? In the decade that followed, it would become synonymous with programming productivity in a Windows environment, culminating in the iconic VB6.? From there, VB made yet another (somewhat awkward) pivot with the release of .NET, becoming a first-class object-oriented language and often showing up with WinForms and Web Forms.
So how can I declare a language with this much history and resilience dead in any form?
And beyond that, what about its support from Microsoft?? Before the release of Visual Studio 2010, Microsoft declared a co-evolution strategy for VB and C#, effectively fusing their fates.? And while Microsoft has more recently backed off of that, they still have officially declared a strategy of keeping it a “first-class citizen of the .NET ecosystem.”
But forget Microsoft.? What about the aforementioned TIOBE index?? The one where, to their surprise, Visual Basic gained four places to come in as the twelfth most popular programming language?? ?And the one where VB.NET jumped over PHP and JavaScript?
Does a language of which all of these things are true profile as a dead language?
Survey Results for VB are Actually Pretty Mixed
In short, yes.? All of these things are true of Visual Basic and it still?profiles as a candidate for zombiehood.
First up, let’s throw a little cold water on the TIOBE index as a means of declaring VB to be thriving.? This index measures the number of global search engine searches for a given programming language.? So I actually helped VB’s index while researching this article, for instance, despite having no intention to use the language to program.
Other surveys are less bullish on VB, such as Stack Overflow’s insight that Visual Basic beats out Perl, SharePoint, and WordPress for the distinction of being “the most dreaded tech.”? So just these two measures taken together could indicate that a lot of people search for VB-related information out of reluctance and dread, in legacy contexts.
There’s also evidence in both places to suggest that a lot of newbies view VB as an approachable language for getting started and prototyping.? But they also seem to view it as a stepping stone. As the aforementioned Stack Overflow developer survey results says, “VB tops the?list of languages?whose users would rather use another language in the future.”
Reading the Tea Leaves to Infer Zombie Status
Let’s also take a look at something Mads Torgersen said in the strategy announcement?mentioned earlier:
This is a shift from the co-evolution strategy that we laid out in 2010, which set C# and VB on a shared course. For VB to follow C# in its aggressive evolution would not only miss the mark, but would actively undermine the straightforward approachability that is one of VB?s key strengths.
On the surface, this appears to be a gentle announcement of the separation of C# and VB, for the good of both.? But think about the underlying implication.? C# is going to continue to evolve aggressively, in response to market demand, for the good of its users.? VB,?on the other hand, will see a significantly slowed pace of change…to preserve “approachability.”
Who uses VB, according to what we’ve seen so far?? Lots of folks with legacy WinForms and Web Forms applications, programming newbies, and folks that want to switch to another language.? In response, Microsoft is slowing the pace of change as a win or draw for all of those people.? Legacy codebase maintainers can let their charges run out the clock until replacement.? Newbies can still come up to speed easily, and then they can also leave quickly for languages not optimized to preserve the status quo.
There’s Nothing Wrong With Working in a Zombie Language
So you’ve got a language that already skews old and far from the bleeding edge.? And all signs point to that becoming more and more true as the language’s creator seems, alongside the rest of the world, to want to move onto newer and shinier things.? If you don’t agree that it’s a zombie language yet, give it a year or five and you probably will.
I can imagine the resentment and objections at this point.? “I’ve been building the best WinForms apps you’ve ever seen for 15 years now, and who are you to tell me to stop, you idiot?”? “It’s a great language, and you’re just a fad-of-the-month fanboy.”? And so on and so forth.
You can save the ire.? There’s nothing wrong with working in a zombie language.? A lot of people have been doing it with the aforementioned COBOL for years, and to great profits.? In my consulting travels, I can’t tell you how many forklift upgrades from mainframes I’ve seen happen with only great reluctance and done only because the (well-paid) COBOL developers were literally aging out of the workforce.? Those folks would retire, and desperate companies would then try to lure them back out of retirement for hundreds of dollars per hour.
You’ll probably enjoy similar career prospects if you continue to specialize in Visual Basic (especially pre .NET) and things like Winforms and Web Forms.
Go in With Eyes Wide Open
Absolutely none of what I’m saying here is intended to give Microsoft, Visual Basic, or Visual Basic programmers a hard time.? Quite the contrary.? I’m telling you this so that you can optimize for the future.
Understand that there’s money to be made and a career path to be had in supporting the countless VB apps out there while the rest of the world moves onto each week’s new JavaScript framework.? Get good at such maintenance, but also understand what companies typically migrate to so that you can help with that as well.? Find tools and vendors that specialize in these transformations?but also vendors that promise to continue to support Visual Basic and do their part to keep it alive.? And finally, grow a network of people with similar skills so that you can make critical referrals or hires when in need.
Is Visual Basic dead?? Yup.? It and its users might not realize it yet, but it’s headed for zombie status.? Luckily, programming languages can enjoy long, fulfilling, and healthy deaths as zombies.
13 Comments. Leave new
I would be interested to know what replaces the power of automation vbs has in
windows computers
Powershell. Had the power of the complete .Net library behind it 🙂
Thank you for writing this article. I’m seasoned in Visual Basic and I do quickly prototype with it and occasionally with VBA, but C# (and JavaScript to a lesser extent) is better for me in every other way. Easier to translate, more community support, and definitely better in a portfolio.
I’ve worked on VB apps and VBA macros for a few household names and their code is usually a mess! At this time its still cheaper (short term) to have a $14/hr manager spend a few hours on stack overflow to implement some minor change than to bring in a seasoned developer to completely translate an Excel Macro’s features into a functional C flavor app. However, it shows in growing pains when that manager gets a promotion and then you have to repeat the whole process with a new manager. VB hungers for more and more brains and I believe Microsoft should push C# as the new approachable language.
Visual Basic is dead. Long live Visual Basic.
I have to admit, C# is looking old compared to Swift. I use vb.net, C#, and swift and still prefer vb.net to C# because swift makes C# feel old, yet somehow makes vb.net, although more verbose, somehow more up to date. I know that sounds odd and I think it?s because swift makes more ?readability? sense, similar to vb, whereas C# is still stuck in an era of semi-colons and reverse reading declarations.
[…] the SubMain blog, I answered the pressing question, “is Visual Basic dead?”? Spoiler alert: […]
[…] software development tools. He calls them “zombie” languages and tools, as explained in his February 2018 blog post about Microsoft Visual BASIC, written for his client SubMain Software, which makes code analysis […]
[…] software development tools. He calls them “zombie” languages and tools, as explained in his February 2018 blog post about Microsoft Visual BASIC, written for his client SubMain Software, which makes code analysis […]
[…] software development tools. He calls them “zombie” languages and tools, as explained in his February 2018 blog post about Microsoft Visual BASIC, written for his client SubMain Software, which makes code analysis […]
TIOBE Index for October 2018 says VB.NET is much popular and growing than C# and C# is going down. Probably many VB6 developer are getting finally into the language.
I do love this ZOMBIE (VB6) ….It’s alive parther “VB.NET” will become into a skeleton years and years before VB6 completly disapears…And yes, COBOL and VB6 will be here with us for some years, and generation of programmers to come….So……LIVE VB ZOMBIE, LIVE!
The StackOverflow survey result is skewed, because there was only one entry for Visual Basic that included VBA, VBScript and VB.NET. In actuality, VB.NET is far closer to C# than the others in the VB family of languages.
I’ve been working with various VB flavors for 20+ years, along with other languages. VB.Net is my absolute favorite. The main advantage is a less experienced programmer can easily read the code and understand what’s going on. I can, and often do, translate between VB.net and C#, mostly with WinForms. I have yet to come across a solid case where C# is “better”.
And don’t get me started on the insanity of case sensitivity.
Started with MS Basic in early 80s, curretly still using legendary VB6. One of the many languages used during a 50+ yrs career