Skip to content
AgileLogics
4 min read

The Future of Visual Basic

Prerequisites: Mixing Visual Basic and C#

Microsoft's language strategy

In 2020, Microsoft announced that Visual Basic would be supported on modern .NET (Windows Forms, WPF, console apps, and libraries) but would not evolve as a language the way C# and F# do. In practice:

  • VB receives compatibility updates so it can keep consuming new .NET libraries, and the compiler, runtime, and Visual Studio support continue.
  • Major new language features (like C#'s records, pattern matching, or primary constructors) are not being added.
  • New .NET workloads — Blazor, .NET MAUI, and most cloud and AI templates — are C#-first, often without VB templates.

What that means for you

  • Existing VB code is safe. A well-structured VB.NET application on modern .NET is supported, fast, and maintainable for many years.
  • Your skills transfer. Everything about .NET — the class library, LINQ, async, testing, deployment — is identical in C#. Learning C# is mostly learning new syntax for concepts you already know.
  • Choose per project. Maintaining or extending VB applications, writing Office-adjacent tools, or teaching beginners: VB is a fine choice. Starting a large new system or a web/mobile/cloud app: C# is usually the better long-term bet.

A quick VB-to-C# phrasebook

Visual Basic C#
Dim x As Integer = 5 int x = 5;
If a AndAlso b Then ... End If if (a && b) { ... }
For i = 0 To n - 1 ... Next for (int i = 0; i < n; i++) { ... }
Function F(x As Integer) As Integer int F(int x)
Sub S() void S()
Nothing null (or default)
Me / MyBase this / base
Shared static
Inherits / Implements :
Function(x) x * 2 x => x * 2
a \ b, a Mod b a / b (integers), a % b
"a" & "b" "a" + "b"

What's next

Try the Advanced Projects, then read the final lesson for a summary and ideas for where to go from here.