By John Kullmann | Published on May 15th, 2018 | Last updated on June 25th, 2019 |
It is a well-known fact that all versions of Visual Basic from 1.0 to 6.0 were to be retired by Microsoft, by 2008. This means that the Visual Basic development environment and associated runtime environments (except for Visual Basic 6) are no longer supported. In a way, VB6 is dead because it is no longer being developed by Microsoft. Microsoft released the .NET Framework in 2001, along with a new language C# and an updated Visual Basic .NET version. With this release, it acquired new capabilities via the .NET framework libraries. Most of the .NET framework libraries were written in C# making it far more accessible to developers than VB.
Is Visual Basic really that bad? VB had a legacy base when it started out and anyone writing code at that time had more than likely used VB. VB.NET was so vastly different from legacy VB that it had a problematic upgrade path. VB and VB.NET syntax look visually identical even though they are two entirely different languages.
During that period, C# was favored by Microsoft, because it was the one language most frameworks are written in and it is more concise than VB.NET. VB.NET and C# have similar libraries, meaning anything that can be done in one language is also possible, in the other. C# has some exclusive functionality like multi-line lambdas, and VB.NET has optional and named parameters which are specific to each. These differences are likely to reduce with every new release of the .NET framework and moving forward developers will be able to work on either platform seamlessly.
One main drawback with VB.NET is that it lacks some core functionality which is easily made available in C#. As a result, many programming languages prefer to use the C# method more than the VB.NET method. When you consider VB, it deliberately hides some paradigms which cause just as much confusion to developers as enthusiasm. There is a general myth among programmers that VB.NET is a more comfortable language though it does not make the development process any better than other programming languages.
With Microsoft planning to go big on cloud and mobile, more VB developers will continue to switch to C#. Mainly, this shift is due to Xamarin which has a C# shared codebase for iOS and Android and are not supported in VB. Apart from this, there was a notion that C# was the primary language of .NET framework. Most of the libraries were written in C# as it shared richer documentation and sample C# code. All these factors created a feeling among VB developers that if they were going to switch to the .NET platform, they might as well change to C#.
Despite all this, VB continues to exist as it is the macro language of Microsoft Office. Additionally, the transition from VB to C# code is much more convenient with a .NET Framework. Nowadays, VB is mostly used for Windows Forms applications and a few ASP.NET Web Forms. Many of the new VB developers have been switching to C# after discovering its rich ecosystem. C# will keep evolving as a state-of-the-art programming language that will be used by programmers globally, in the days to come.