Gute und schlechte Nachrichten für Visual-Basic-.NET-Entwickler

In .NET 5.0 werden mehr Anwendungsarten mit Visual Basic .NET verfügbar sein, aber die Syntax der Programmiersprache will Microsoft nicht mehr weiterentwickeln.

Lesezeit: 3 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen 122 Beiträge

(Bild: Denis Linine/Shutterstock.com)

Von

Das .NET-Entwicklungsteam bei Microsoft hat sich zur Zukunft der Programmiersprache Visual Basic .NET geäußert und dabei gute und schlechte Nachrichten verbreitet für diejenigen, die die Sprache zur Entwicklung von .NET-Anwendungen verwenden.

Die gute Nachricht ist, dass Microsoft in .NET 5.0, dem Nachfolger von .NET Core 3.1, die Einsatzmöglichkeiten für Visual Basic .NET ausweiten wird. Neben den bisher unterstützten Projektarten "Console" und "Class Library", können Visual-Basic-.NET-Entwickler ihre Sprache zukünftig auch wieder für Desktopanwendungen mit Windows Forms und WPF-Hintergrunddienste sowie WebAPIs verwenden. Die Unterstützung für WPF und Windows Forms war eigentlich schon für .NET Core 3.0 angekündigt, wurde dann aber rund vier Wochen vor dem Erscheinen von .NET Core 3.0 per Github-Eintrag gestrichen.

Anwendungsarten und Sprachunterstützung in .NET Core 3.1 (Abbildung 1)

Schlechte Nachrichten für Visual-Basic-.NET-Entwickler gibt es im aktuellen Blogeintrag jedoch direkt zwei: Zum einen werden sie nicht alle Anwendungsarten in .NET 5.0 programmieren können. Nicht im Blogeintrag genannt und damit wohl ausgeschlossen sind alle Einsatzgebiete zum Rendering von Web- und App-Oberflächen, also ASP.NET Core MVC, ASP.NET Core Razor Page, Blazor, Blazor Mobile Bindings und Xamarin.

Die zweite schlechte Nachricht ist, dass Microsoft die Weiterentwicklung der Programmiersprache Visual Basic .NET nun offiziell einstellt: "Going forward, we do not plan to evolve Visual Basic as a language." Der Beitrag erklärt weiterhin, dass manche Funktionen von .NET Core den Visual-Basic-.NET-Anhängern nicht mehr zugänglich sein werden: "Future features of .NET Core that require language changes may not be supported in Visual Basic."

Zu Beginn der .NET-Ära Anfang des Jahrtausends gab es mit Visual Basic .NET und C# zwei gleichberechtigte Programmiersprachen für die Entwicklung von .NET-Anwendungen. Es gab zahlreiche syntaktische Unterschiede zwischen den beiden Sprachen (Blockbildung, Case-Sensitivität, Standard für strenge Typisierung etc.), aber nur wenig funktionale Unterschiede wie die Möglichkeit zur Zeigerarithmetik in C# mit unsafe-Blöcken. Es gab aber einige Abweichungen bei der Werkzeugunterstützung, zum Beispiel den IntelliSence- und Refactoring-Funktionen in Visual Basic, die in den Folgejahren zunahmen. Zu diesen Zeit gab es fast jedes .NET-Fachbuch in Deutschland in zwei Varianten: eine für Visual Basic .NET und eine für C#.

Für bisherige Nutzer des COM-basierten Visual Basic (letzte Version: Visual Basic 6) war die Umstellung auf Visual Basic .NET naheliegend. Die Umsteiger von C, C++ und Java wählten aber fast ausnahmslos C# als Programmiersprache, nicht nur wegen der syntaktischen Nähe, sondern auch weil Visual Basic in diesen Kreisen einen schlechten Ruf hatte.

Heutzutage gibt es in Deutschland nur ganz wenige Bücher zu Visual Basic .NET. Die .NET-Fachzeitschrift "dotnetpro" hat nur noch eine kleine Rubik "Basic Instinct", in "windows developer" sieht man fast keinen Visual-Basic-Code mehr. Auf der größten deutschen .NET-Fachkonferenz "BASTA" heben sich nur noch einzelne Finger in die Luft, wenn man in die Menge fragt, wer Visual Basic .NET einsetzt – dabei steht "BASTA" eigentlich für "BASic TAGe".

Dennoch gibt es in Deutschland weiterhin Unternehmen, die Visual Basic .NET einsetzen. Insbesondere in vielen Fachabteilungen in deutschen Unternehmen wird die Sprache für Anwendungen verwendet, um die sich die zentrale Softwareentwicklung nicht kümmern kann oder will. Außerhalb von Deutschland erscheint die Popularität von Visual Basic .NET sogar weiterhin deutlich größer zu sein, denn die Programmiersprache ist mit einem Marktanteil von 5,26 Prozent auf Platz 6 im Tiobe-Index Stand März 2020, gegenüber 2019 allerdings um 1,17 Prozent gesunken. C# hat dort aber auch nur einen Anteil von 5,32 Prozent.

Im Blogeintrag von Microsoft wird die Programmiersprache immer nur mit "Visual Basic" bezeichnet, während der Tiobe-Index genau wie dieser Beitrag "Visual Basic .NET" verwendet. Mit der Einführung von .NET hatte Microsoft die Programmiersprache zunächst in den Version 7.0 und 7.1 mit ".NET" im Namen geführt, um von dem klassischen COM-basierten Visual Basic abzugrenzen, dann aber im Jahr 2005 bei der Version 8.0 das ".NET" wieder aus dem Namen gestrichen. Da aber auch heutzutage immer noch einige klassische Visual-Basic-Anwendungen im Umlauf und der Weiterentwicklung sind, hat sich in der Entwicklerwelt etabliert, "Visual Basic .NET" für die .NET-basierte Version zu verwenden.

Microsoft hatte im Jahr 2010 noch die "Co-Evolution"-Strategie für C# und Visual Basic verkündet: Beiden Sprachen sollten sich hinsichtlich der Sprachfeatures und der Werkzeugunterstützung im Gleichschritt entwickeln. Diese Strategie hat das Unternehmen 2017 mit dem Argument wieder beendet, man wolle Visual Basic .NET nicht überfrachten, da die Sprache dann nicht mehr so einfach zu erlernen wäre. Microsoft wollte Visual Basic .NET einfach halten, aber dennoch alles dafür tun, dass die Sprache ein Bürger erster Klasse im .NET-Ökosystems bleibe. Das hat der Hersteller aber in .NET Core schon nicht mehr umgesetzt. 2020 stellt Microsoft nun die Weiterentwicklung der Sprache auf dem Status Quo ein.

Immerhin bekommen Visual Basic-Entwickler in .NET 5.0 die Wahl, entweder mit ihren Desktopanwendungen und WebAPIs beim klassischen .NET Framework zu bleiben oder auf .NET 5.0 umzustellen. Ausgeschlossen ist der der Umzug für Anwendungsarten, die Visual Basic .NET dort nicht anbietet (z.B. ASP.NET MVC) beziehungsweise die grundsätzlich in .NET 5.0 nicht existieren werden (wie ASP.NET WebForms, WCF-Server und Windows-Workflow-Anwendungen).

Pläne für .NET 5.0 (Abbildung 2)

Der aktuelle Blogeintrag zu Visual Basic .NET wird von den Nutzern sehr unterschiedlich aufgenommen, wie man in den Kommentaren sieht: Einige finden es "großartig" und "Good News", andere halten die Nachricht für einen verfrühten Aprilscherz und sind traurig. Ein Nutzer verweist auch darauf, dass gerade nicht hauptberufliche Entwickler Visual Basic .NET präferieren. (bbo)