|
Speculation robed as explanation, but maybe still good for sake of conversation. 1. It is nearly two decades since the mind-share decimation event of .NET occurred, circa 2002: Visual Basic got a major redesign (VB.NET) that was so dramatic it made any conversion process a major non-trivial matter. C#, along with .NET, was the new shiny, and the adoption of it by a major standards organization (ECMA) certainly made it feel like the safer choice if one wanted to continue usage of Microsoft technology. Evenso, if the staff you had could be fine with either VB.NET or C#, then Java was also on the table, and Java might have felt safer to some, since it had a fine track-record since 1995 and was commonly taught in academia (and there was the potential of it also going to a major standards organization - which then did not happen). The only other option left was to stick-it-out then go-it-alone with the first generation of VB, which ended at version 6, released in 1998. Being early days of .NET, VB6 still was the performance champ (it could be compiled to native code, and integer checks could be disabled), didn't require the huge .NET Framework installation, and at first VB.NET didn't have the Edit-and-Continue feature which VB6 had. So with VB6 one had better speed, productivity, and "easier" installers (stepping aside all the vulgarities of COM/ActiveX). 2. In the meantime, .NET matured, C# matured, and VB.NET matured, and of course Visual Studio (for .NET) matured. Various consultancies emerged offering VB6 conversion services, to C# or VB.NET (or even Angular!). Much of the world has moved on from 32-bit OSs and Windows XP. Anyone still reliant on a VB6 code base knows quite well that they're on borrowed time. But now there are options that are cost-effective enough to warrant the transition. Perhaps during that time employers were still able to find staff that could work with either VB6 or VB.NET (or, perhaps, VBA too?); in which case, for their own staffing situation (and whatever their business model), transitioning the last of their VB6 to VB.NET made perfect sense to them. 3. So, at this point in time, modern Visual Basic (the .NET one) is a powerful line-of-business programming language, and its performance is comparable to C# overall. It may be that .NET is C#'s world, and VB just lives in it, but from the perspective of someone with CRUD and website requirements, VB meets the need. 4. Word on the street is that there's a whole lot more VB6 out there still in production environments around the world than many thought possible. Now that VB.NET is stable and the devil-you-know, and with VB6 transition consultants at the ready, and VB.NET can be used with .NET Core (which makes cross-platform thoughts more thinkable than even when Mono became a thing), and staffing concerns not-so-concerning... Well, even programmers need to eat (and raise kids and pay rent/mortgage), so how bad is it really to do a VB gig, and pay the bills?... 5. Cue the Zombie pronouncements and h8trs. Frankly life is so full of serendipities, I'm not bothering with that. Time will tell if the population of VB programmers grows substantially from the few hundred thousand that Microsoft recognized in 2016. In the heydays of VB6, the count could have been several million. See http://www.devtopics.com/the-rise-and-fall-of-visual-basic/, published 2007, for more historical perspective. 6. TIOBE is probably not much use for saying whether language X is somehow more popular than some language Y, but it may still indicate trending interest and usage of X. It would seem that this survey of jobs on dice.com lends some credence to up-ticking trend of VB.NET on TIOBE. |