According to the 2017 Developer Survey from StackOverflow, the outlook is pretty bleak for VB.NET… Out of all of the professional developers that participated in the survey, only 6.1% responded as using VB.NET (compared to 38.7% who responded that they used C#).
For the languages developers most dread working with, VB.NET was chosen by 77.2% of the respondents, under VBA at 80.4% and VB6 at 88.3%. Clearly there’s not a whole lot of love for Visual Basic…
That’s pretty sad.
I grew up using ‘basic’ languages of one form or another, so it’s kind of bittersweet that VB.NET has such little support these days… Not like the writing hasn’t been on the wall for years and years, of course… but still…
Looking at it from a purely pragmatic approach, though, it’s definitely time to move on. As a developer, there’s a definite financial incentive to it — I can get more jobs as a C# developer and I can get paid more money for it. That’s a no-brainer. And from a company perspective, I can understand why folks would prefer C# over VB.NET… There’s more talent to choose from, for one. Plus, whether true or not, there’s a stigma to VB.NET developers that they aren’t as skilled, aren’t as intelligent, etc. It’s hard to sell yourself as innovative, a market leader, etc. while having a product written in VB.NET…
Thankfully, I’ve already done some small projects in C#. There are some annoyances with it (case-sensitivity being the primary one…) but nothing too major.
One thing I noticed, though, as I looked at the stats is that even C# has been consistently dropping down in the survey stats every year. So that’s probably something worth taking note of… It could just be a self-selection bias from the types of folks on StackOverflow that are participating in the surveys, too, though…
Really, the biggest challenge I face is not so much the underlying language I use as much as just the architecture. It seems like desktop apps are a dying breed. The exception seems to be in the healthcare industry, but who knows how long that will remain true… Yet another thing I need to give some thought to, but I’ll save that for another time (and another blog post…)