Visual Basic.Net is a very capable language and can do virtually anything C# can do, so why convert? Though there are clear technical reasons, such as much better quality enforcement, the overriding reason is the growing momentum and popularity of C#, as well as the fierce animosity against VB.Net. Visual Basic started as an anything-goes hobbyist language, destroyed by Microsoft when it killed VB6, then replaced by VB.Net. It’s in a weird position of being way too complicated for its hobbyist roots, but having a lower quality and strange syntax when compared to its much bigger brother C#. It begs the question, “Why not just use C#?”
In countless surveys, C# is outpacing VB.Net in popularity, available training and tools, jobs, and salary. You don’t want to standardize on VB.Net for your company and certainly not for your career. Will Microsoft eventually kill off VB.Net like it suddenly did VB6, destroying careers and abandoning an untold number of applications? They say they won’t.
Reason #1 – You care about your company
Companies standardize on a programming language for the flexibility of assigning programmers and to take advantage of common tools and training. Every .Net shop I know of has standardized on C#, but there’s often legacy VB.Net applications roaming around that everyone hates. What do you do with them? If it’s a hideous VB.Net project that barely got upgraded from VB6 and it’s not making any money, they will assign the developer they hate to maintain it until it just goes away. For everything else, companies will investigate converting it to C#. There are plenty of tools and resources to assist.
Aside from business efficiency, there’s a more compelling argument to convert to C#. There are third party tools that ONLY support C#, and some of them are game-changers. Xamarin allows you to write applications in C# which port to Windows, iOS, Android, and Mac. This is huge.
If I were to guess the next language to get a bump up, I would vote for C#. It has steadily eaten away almost all of VB.NET’s turf and, with the recent work by Xamarin, C# might well become the .NET developer’s language of choice for mobile. We’ll certainly see.
— Andrew Binstock
Editor in Chief
Reason #2 – You care about your career
Being a VB.Net developer is not a promising career path. Though the chart on the right is a little dated, it certainly shows the trend in job availability of VB.Net vs. C#.
From a current search of dice.com (6/26/2105): “VB.Net” shows 1,192 open jobs, while a “C#” search yields 8,381 positions, more than seven times the number of VB.Net jobs. For the long term, being a VB.Net developer is at the very least career-limiting, and there’s always the chance that as VB.Net market share erodes, Microsoft will pull the plug like it did with VB6.
From an indeed.com salary survey, C# is clearly outpacing VB.Net not only in the number of available jobs, but the amount earned per job. As the number of VB.Net jobs dwindle and the pool of applicants rise, the competition for any open positions could get intense. Don’t do that to your career!
Reason #3 – The shame
Because of the long history of low-quality Visual Basic programs developed and its strange syntax, VB has become the favorite whipping boy of developers, and the intensity and the amount of the scorn is incredible! I once had a senior C# developer tell me “every time I see VB.Net I want to rip my eyeballs out!”.
It’s not always fair, as you can write good programs in VB.Net, but the stigma is definitely there and not one you want associated with your career. From the StackOverflow 2015 Developer Survey, C#was in the “Most Loved” category at 67%, while “Visual Basic” took second place in the “Most Dreaded” category at 72%.
For fun, do a Google image search on “Visual Basic meme”. You’ll be amazed at what you find!