Save VB.Net and your Job.


Feb 2, 2020
Programming Experience
Let me begin by clearly stating; DO NOT TURN THIS THREAD INTO A WAR BETWEEN C# AND VB. If you don't like and\or don't use VB.Net, then DON'T POST HERE!

I generally don't participate in forums and I don't care what programming language anyone else chooses to use. To each their own. But I DO care when some ignorant group or company decides to attack and try to destroy the tools I use to make a living. Although I'd rather not have to, it's time to take a stand. So I'm posting this in every VB.Net forum I can find.

I've been programming for over 30 years and have used multiple languages over those 30 years. For the last 15 years I've been using VB.Net because, for me, it is the Very Best language available.

In case you haven't noticed, there is a major attempt going on to destroy VB.Net. From the beginning of .Net Microsoft promised that they would maintain parity between C# and VB. Until the last few years they've been very good about keeping that promise. But with the introduction of .Net Core they have been quietly ignoring, delaying and not so subtly hinting that VB.Net support in .Net Core might be limited or, in some cases, abandoned altogether. This is ABSOLUTE B.S.! There are thousands of VB.Net developers and thousands of business applications written in VB.Net. It is currently #6 on the TIOBE Index of Most Popular Languages, right behind C# in #5. In 2019 it was AHEAD of C#.

For the past couple of years there have been a growing number of articles and posts on the web declaring that VB.Net is, or at least should be, "dying". Along with many C# developers calling for it to be killed off. Although VB.Net has been slandered by C# programmers since the beginning of .Net, over the last few years they have launched an absolute Holy War against VB.Net. It's just like the Inquisition and Holy Wars of the Catholic Church during the dark ages against the Infidels (anyone that didn't want to be Catholic). Apparently VB.Net is a tremendous threat to C# programmers. It's rather interesting how you never hear the C# Fanatics attacking Python, which is almost identical to VB.Net. I wonder why that is...

This is a call for all VB.Net developers to stand up and defend your jobs, your applications, your right to choose what language you prefer to use, and VB.Net itself. We MUST make our voices heard by Microsoft and INSURE that they continue to honor their promise and maintain parity between VB and C#.

Here are some things we can do:

1. CONTACT everyone we can at Microsoft and let them know that we SUPPORT and PREFER VB.Net and that we want its parity with C# maintained. That means anywhere C# is used, VB must also be supported. Other than perhaps "pointers", any functionality that is added to C# must also be added to VB.

2. LABEL our applications with "Powered by VB". Our customers need to know what their software is written in.

3. UNITE our voices. Create, find, join and support VB associations.

4. As nicely as possible, CORRECT the C# FANATICS B.S. where ever you find it. The FACTS are quite simple... Both VB and C# compile down to the SAME Common Intermediate Language, which creates the EXACT SAME executable binary. There is NO PERFORMANCE DIFFERENCE between an executable created from VB or C#. The VB.Net compiler for VB.Net version 14 was completely rewritten from C++ to VB... and it performed faster than the C++ version! If you can write a compiler in VB.Net, then there isn't any limitation to writing any other .Net application with VB.Net. There is nothing you can do in C# that can't be done in VB... and it's usually easier in VB.

While Microsoft moves to .Net Core, as long as VB is included, our applications will be able to run on Windows, MacOS, and Linux which greatly expands our market. I fully support that. Let's not lose the tools we use to do our jobs just because ignorant loud mouthed bigots and fanatics don't like our choice.

Let's not lose the tools we use to do our jobs just because ignorant, loud mouthed, bigots and fanatics don't like our personal choice.
I have no issue with your post in general and I support the continued existence of VB.NET and associated tools. I learned to program at university in C and then worked a year in C++ before teaching myself VB.NET and, later C#. The company I work for used VB6 before my time and VB.NET 2003 when I first started, but now we use C#. That's no big deal for me but it is obviously the sort of thing that would concern dedicated VB developers. I just wanted to make two specific comments:
Let me begin by clearly stating; DO NOT TURN THIS THREAD INTO A WAR BETWEEN C# AND VB. If you don't like and\or don't use VB.Net, then DON'T POST HERE!
The fact that this is a dedicated VB.NET site makes this a bit redundant. I frequent another site that is mostly dedicated to VB but does have a C# forum and the arguments there are generally VB6 vs VB.NET rather than VB.NET vs C#.
From the beginning of .Net Microsoft promised that they would maintain parity between C# and VB.
That's not really true. There were differences between VB.NET and C# from the start and the two languages were developed by two different teams. There was a period where Microsoft said that they would develop the two on the same schedule and they did. They then explicitly said that they weren't, because I think that it was actually making it more difficult to get new features out. There have undoubtedly been features and technologies that have been implied or promised for VB that have not eventuated and I can see that that would be frustrating. It's a fact that Microsoft have never considered VB.NET and C# as targeting the same audience, even if there is more overlap than they would like. If you want to keep using VB, you're going to have to accept that, at least to a certain degree. You should assume that VB will always be behind C# from here on out and that there will be certain features and technologies that C# supports that VB never will. Not the way you want it to be but the way it is, I'm afraid.

That said, I'm certainly not suggesting that you should not do all you can to promote and maintain the VB language and tools, if that's what you want to do.
In short, .Net 5 is to be released late this year, this is where "Core" is dropped in naming and a separate .Net Framework is discontinued.
A comment from program manager Kathleen Dollard from that thread:
The VB runtime (Microsoft.VisualBasic.dll) will be expanded in Preview 5 (out yesterday) and further expanded in Preview 6. We’re looking at feedback on some parts. For example, audio has low usage and we’ve had feedback that it isn’t a great way to do audio now, so we don’t plan to port that part of the VB runtime.
VB will move forward with .NET Core.

This is an article a few years back that outlines the previous and current language strategy:
Some differences between VB and C# is to be expected, but not something radical like leaving VB out.
We will do everything necessary to keep it a first class citizen of the .NET ecosystem
Yeah, I've read those things you've listed and listened to Kathleen speak... But they are also saying that VB.Net is not going to be an option in most or all of the .Net Core Web components, or Mobile components and in a number of other components. That certainly doesn't sound like a "first class citizen" to me. What I find really bizarre is MS's big support for Python. I have nothing against Python but why would MS invest time and money supporting it when they have VB.Net, which is a far more stable and complete language.
I believe that this could be a sabotage in the area of desktop development in general because I really want to enter the area but there are no jobs or content about it and today we only talk about web languages like that nightmare of CSS and Javascript where a newfangled framework emerges every 5 seconds