Microsoft
25.03.2021, 15:21 Uhr
Neuerungen in Visual Basic 16.9
Die aktuelle Hauptversion von Visual Basic heisst 16.0, deren Erweiterung 16.9 bringt jetzt einige wenige neue Features mit.
Microsoft entwickelt Visual Basic inzwischen kaum mehr weiter. Die meisten neuen Projekte, insbesondere die Multi-Plattform-Projekte erfordern C# oder F# als Programmiersprache. Dennoch ist Visual Basic .NET noch so weit verbreitet und in derart vielen Projekten im Einsatz, dass es im März-Ranking des 50 Programmiersprachen umfassenden Rankings von Tiobe immer noch auf dem sechsten Platz steht, direkt hinter C, Java, Python, C++ und C#. Schon allein deshalb kommt Microsoft nicht umhin Visual Basic immer wieder mal an die Erfordernisse der aktuellsten .NET-Versionen anzupassen. Das ist nun auch mit Visual Basic 16.9 geschehen.
Das erste neue Visual-Basic-Feature ist die Unterstützung von Default-Interface-Methoden. Dieses C#-8-Feature erlaubt es, neue Methoden zu Interfaces mit einer Implementierung hinzuzufügen. Effektiv verhält sich das Interface-Schlüsselwort dadurch eher wie eine abstrakte Klasse als ein abstraktes Interface. Visual Basic kann derzeit keine neuen Default-Interface-Methoden erstellen, aber es kann sie konsumieren. Dank dieser Änderung unterstützt Visual Basic Interoperabilitätsszenarien mit .NET-5-Bibliotheken. Neu ist auch die Unterstützung für Source-Generatoren. Dieses Feature soll Entwicklern erlauben Anwendercode zu inspizieren und neue C#-Quelldateien zu generieren, die zu einer Kompilierung hinzugefügt werden können.
Ein weiteres Feature von VB 16.9 ist einfach als "enables consumption of init-only properties" dokumentiert. Auch hier liegt der Fokus auf Interoperabilität.
Windows-Forms-Unterstützung
Eine häufige Beschwerde über Visual Basic in .NET Core war, dass der Windows Forms Designer nicht so vollständig wie gewohnt arbeitete. Laut Microsoft-Mitarbeiter und VB-Experte Klaus Löffelmann lag ein wesentlicher Grund dafür darin, dass die VB-Ereignissyntax sich sehr von derjenigen von C# unterscheidet. Kurz zusammengefasst Während C# dafür einen imperativen Stil verwendet, nutzt VB einen für den Windows-Forms-Designer aufwändigeren deklarativen Stil. Laut Klaus Löffelmann und Kathleen Dollard arbeitet der Designer nun korrekt mit dem deklarativen Stil von VB.
Für viele Entwickler war das Application Framework der Hauptgrund, warum sie sich für VB anstatt für C# für ihr Windows-Forms-Projekt entschieden haben. Es in .NET Core nicht zur Verfügung zu haben, wurde daher als ein grosser Stolperstein auf dem Migrationspfad gesehen. Mit VB 16.9 wurde das Application Framework um ein Ereignis zur Verwaltung von Szenarien mit hoher Pixeldichte erweitert.