Microsoft’s Programming Language Strategy & The Future of Visual Basic

Microsoft’s Program Manager Mads Torgersen recently posted about what they plan to do with their widely popular .NET languages – C#, Visual Basic, and F#. And things look uncertain for Visual Basic.

Their plans were later elaborated in detail through a series of blogs. There will be fundamental changes that looks favorable to C# and F#. Though there wasn’t any negative statements regarding VB’s future, the vibe their statements left made it seem that a bumpy road awaits VB.

Where they stand now…

According to Torgersen, C# is the most popular of the three, and will keep evolving as a state-of-the-art programming language. He added that F# is steadily climbing the ladder, and could become the best-tooled functional language on the market. VB is apparently the odd one here, as it is now mostly used for Windows Forms applications and in ASP.NET development by new developers. But many surveys indicate that developers are moving from VB to C# owing to the latter’s richer ecosystem.

Microsoft’s reason for changing its development strategy could be the fact that both C# and VB have different audiences. They found that new developers in Visual Studio favor VB, as it’s more comfortable them to learn the tricks of the trade. VB is still a tool for client-server programming while C# evolved to being useful for n-tier web-based applications.

F#, on the other hand, takes a different, more independent path. Microsoft will reportedly take measures to make F# more useful in the .NET landscape, hopefully with better error messages and support.

Where they are going

C# and VB will be going different ways from now on. VB’s popularity is dwindling and it will eventually end up disappearing from the radar for good. Evidently, C# is diverging from VB. As VB will be supporting the standard base class libraries set along .NET framework in the not too distant future, we can expect some amount of cross-platform work in the dying language. However, not all VB codes would be portable. Some can be shifted to a smaller set of libraries while the rest remains on on-premises applications. F# will find its place among financial services and machine learning-based applications.

What’s in it for enterprise developers

For starters, they will have two important choices.

  • Move VB codes to newer platforms
  • Start using C#

The second choice gives them access to a plethora of target frameworks, and across many devices. C# can also directly address the .NET Core platform via APIs, not to mention other platforms. This means, Unity and other derivatives of C# will be capable of supporting their own APIs.

Choosing one of the two will require the developers to think about where they want to be in a few years. Only a subset of .NET APIs will be made available to them if they choose to go with VB development. They need to consider the evolution of .NET platform as a whole, and whether they plan to work on cloud or mobile technologies. C# seems to be a safe bet from the looks of things though VB will still be around for a little while longer.

One other alternative is to stick with both VB and C#, as the .NET framework makes it easy to mix them up. The transition is as easy as that between VB.NET and VBA. But this could be just a temporary advantage. From what we could surmise from Microsoft’s new programming language strategy, C# would prove to be the better path in the long run. This would likely bring about more changes in the software development industry this year.