|No Future For VB .NET
|Written by Mike James
|Friday, 13 March 2020
Visual Basic is arguably the language that made Windows accessible to the rest of us. In its latest announcement Microsoft puts a positive spin on the confirmation that it no longer has a future.
Once Microsoft was a dynamic innovator in the language space - .NET and C# were trailblazers and Visual Basic .NET sort of followed on as an attempt to make VB 6 programmers think that they had somewhere to go. Now it is clear that they never did. Visual Basic 6 and Visual Basic for Applications, VBA, are not Visual Basic .NET. The history is that Microsoft killed VB6 and attempted to replace it with an all-new .NET-based langauge called Visual Basic .NET.
There are many programmers today who mourn the loss of VB6 and would like Microsoft to give it to the community by way of open sourcing it - which seems unlikely. VBA is essentially VB6 with an application object model and this, despite lots of efforts and promises (threats?) to replace it, is still going strong and looks like hanging around a while longer.
VB.NET is quite a nice language, but nothing special in the universe of languages. Its sole reason for existence is to provide continutity for the original Visual Basic. Everything was fine - VB.NET kept reasonable pace with the development of C# and then things started to go wrong when MS decided to de-emphasize C# and .NET and go with UWP, aka Wint RT, aka Metro. Soon afterwards, .NET was open sourced and chaos decended as .NET Framework was, and is, being replaced by .NET Core. The idea of .NET Core is a good one, but it forces a complete reboot of the whole .NET system and hence much wasted time and confusion. It remains to be seen if .NET can regain its importance after the transition.
During all of this C# became the focus of language development efforts and VB .NET was noticeable by the fact that few talked about it. VB .NET programmers were nervous and then in 2018 a blog post by Kathleen Dollard said:
There was much celebration in VB .NET land after this - and everything looked good for the future. But promises can be broken and now the blog post starts:
Update: March 12, 2020
This strategy described in this 2018 post has been replaced with the one in this post.
and the replacement post is a masterpiece of making bad news seem like good.
Starting with .NET 5 Visual Basic will support:
Great, that's a big chuck of what most would want. Then it goes on to say:
One of the major benefits of using Visual Basic is that the language has been stable for a very long time. The significant number of programmers using Visual Basic demonstrates that its stability and descriptive style is valued.
Yes, sounds good too, but when language developers start to speak of stability you have to start to wonder where their ambitions have gone and the answer is:
"Going forward, we do not plan to evolve Visual Basic as a language. This supports language stability and maintains compatibility between the .NET Core and .NET Framework versions of Visual Basic. Future features of .NET Core that require language changes may not be supported in Visual Basic. Due to differences in the platform, there will be some differences between Visual Basic on .NET Framework and .NET Core."
So that's it for VB .NET. It is what it is, but it will never be anything more. It's not really RIP VB .NET, but it clearly isn't going anywhere new and that goes for classic ASP .NET Webforms, Workflow and WCF to name just a few defunct MS technologies that .NET has left in the dust.
To make it clear and without any spin - VB .NET is not a language to use for new projects.
or email your comment to: email@example.com
|Last Updated ( Friday, 13 March 2020 )