Monday, March 16, 2020

VB.NET is done, not dead

What's the future for VB.NET?

  • Visual Basic (VB.NET) will continue to be supported by Microsoft. (It's not dead.)
  • The language will no longer have new features added to it. (It's done.)

This post on Visual Basic support planned for .NET 5.0 has caused some to complain that Microsoft is abandoning or killing Visual Basic. Discussions on plans for alternatives or open-source continuations or extensions to the language have picked up.

In amongst all the hype, hyperbole, and over-reactions, it's important to take a step back and think about the big picture.

There are plans from Microsoft to continue to support Visual Basic going forward.

  • If you use Visual Basic to build software based on the .NET Framework that will continue to work and be supported.
  • If you use (or want to use) Visual Basic to build software based on .NET Core (& .NET 5 going forward) that will work and be supported. And, as per that blog post, more application types will be supported than are currently.

There are plans to stop evolving the language and adding new features.

  • Adding new features makes it hard for people new to a language to learn it as there is more to learn. Visual Basic has always focused on making it easy to get started.
  • Every language doesn't need every feature. 
  • It's ok to use more than one language. No, you can't use them in the same project, but you can use them in different projects in the same solution.
  • This may mean that there is future functionality added to .NET Core that isn't as easy to use in Visual Basic. I'm sure workarounds and alternatives will be found though. A similar impact has also been had on C# where there are C#8.0 features that can't be used in software based on .NET Framework. At least VB developers will be spared the "what features of the language can I use in this code-base?" question.
  • Trust that Microsoft isn't making this decision to be difficult or pick on people who like using Visual Basic. Assume this is a business decision based on lots of data and discussion with the understanding of the consequences of doing this, as well as the benefits that can be gained by focusing efforts elsewhere.

If all you know is Visual Basic and you worry your skills are becoming less relevant, don't panic.
Learning new programming languages can be easier than you might imagine and typically brings insights into how you may want to use the language(s) you already use.

Also know that you know more than just a programming language.

  • You know how to put software together.
  • You know what good and bad coding practices look like.
  • You know how to work with other developers and other people in a business to deliver a software product.
  • You know how to solve problems when code doesn't do what you want.
  • You know how to ask and look for help.
  • You know what people using your software do and don't want.
  • You know much more than just a programming language.

Of course, things may change. But this is the world of technology. New things are created, adoption and usage changes, and older things are used less. Software is a world of constant change. If that's something you can't cope with it might not be for you.

And remember:


  1. If you're interested in VB going forward or want more background on how it got to this point or what the future *might* hold, read

    1. That's a mighty interesting read! Thanks for sharing!

  2. I am beginning to learn visual basic. Should I go ahead or learn some other language?

  3. While eloquently worded, Microsoft's decision to end language evolution for VB is a very polite way of saying that ultimately, VB has been sent on its death march and young people just entering the field should skip VB and learn C# instead.

    It is equivalent to the Oxford dictionary no longer permitting new words to be added to the English language.

  4. Can you think of or have you seen anything that would make VB.Net code run slower this year, around the first quarter?

  5. If Microsoft was able to kill its father VB6 which was stronger, faster, and more complete than its "son of the beach" child VB6. Well well, Please stay away from VB.NET cause sooner or later it will be killed as well......


I get a lot of comment spam :( - moderation may take a while.