C# is used by millions.
Visual Basic is used by hundreds of thousands.
F# is used by tens of thousands.
Microsoft’s Mads Torgersen provided an update on the strategies around the core Microsoft .NET programming languages on the Microsoft .NET Blog. The biggest take-away is that Visual Basic is once again pushed to the side in favor of C#.
It was just a few years ago that Microsoft made a push to better align Visual Basic and C#. This strategy remained true from 2010 through Visual Studio 2015, where the C# and Visual Basic were sharing many new features. With Visual Basic 15 and C# 7.0 VB won’t keep up with C#, but rather will have a subset of the new features.
The reality is that there are a number of reasons that are pushing Microsoft to shift away from the alignment of Visual Basic and C#. Although Mads made reference to the hundreds of thousands of people using Visual Basic versus the million using C#, it really isn’t the audience size of the languages that made the change, but a variety of other reasons. The Visual Basic team outline four forces that helped lead to the decision. Rather than repeat the details, I’ll point you to the VB Team’s blog post, “Digging Deeper”. The reasons include shifting platform targets (cloud, mobile, and so forth), shifts to non-traditional (non-Microsoft) platforms and tools, the shift to an open source mindset, and the need to move quicker.
It was clearly stated that there will continue to be the “powerful unifying forces” through the common IDE and platform. What is less likely to happen, however, is the same level of future support for cloud, mobile, and the leading/bleeding edge technologies. Microsoft plans to continue to the open source push and focus for Visual Basic, but with the emphasis on Microsoft platforms versus cross platform. Y
This doesn’t mean the death of Visual Basic. As the VB team has stated in their blog, the same great tooling, same great platform, and same great language will continue to evolve and be supported. In Visual Studio 2017, you’ll see the new Live Unit Testing, you’ll see continued support in things like the language-neutral analysis APIs, and you’ll see Visual Basic continue to target things such as the .NET Standard and to add value on the .NET Core. You’ll see the language continue to evolve. You simply won’t see things added simply because they were added to C#. Mads stated very clearly that they plan to keep Visual Basic straightforward and approachable. The plan is to keep it a first class citizen with .NET.
# # #