Visual Basic ist der seltsame Mann im neuen .NET

In einer Reihe von Blog-Posts in der vergangenen Woche hat Microsoft grundlegende Änderungen an der Entwicklung seiner .NET-Sprachen detailliert beschrieben. Es waren gute Nachrichten für C # - und F # -Entwickler, aber während Microsoft die Bedeutung der Änderungen für Visual Basic positiv bewertet hat, scheint die langfristige Zukunft der ehrwürdigen Sprache weniger sicher zu sein.

Microsofts Visual Basic ist seit langem eine der weltweit beliebtesten, wenn auch nicht die am häufigsten verwendeten Sprachen, und Microsoft steht damit wirklich im Mittelpunkt der Unternehmensphase. Von den ersten sechs Iterationen als Sprache für die Entwicklung von Client-Server-Anwendungen bis zu ihrer Wiedergeburt als Teil der .NET-Plattform war Visual Basic das erste Werkzeug für die schnelle Entwicklung von Unternehmensanwendungen. Dies liegt zum Teil an der umfangreichen Bibliothek an Komponenten der Benutzeroberfläche sowie an Konnektoren zu gängigen Datenbanken und einem Komponentenmodell, mit dem Dritte Unternehmen auf die Bereitstellung zusätzlicher Funktionen aufbauen können.

Die Umstellung auf .NET als Grundlage für die Entwicklungsstrategie von Microsoft war für neue Sprachen wie C # sinnvoll, bedeutete jedoch Änderungen an Visual Basic, bei denen Code nicht einfach von dem alten Visual Basic auf das neue VB.NET migriert werden konnte.

Es war ein herausfordernder Übergang für Entwickler, und Visual Basic verlor in der Unternehmensentwicklung und in Microsoft allmählich den Verstand. Trotzdem versprach Microsoft, C # und VB.NET synchron zu halten. Für C # erstellte Funktionen werden Teil von Visual Basic, wobei sich die beiden Sprachen gemeinsam entwickeln. Der Grund war, dass sie oft für dieselbe Aufgabe verwendet wurden und dieselbe zugrunde liegende Natur hatten: beide stark typisierten, objektorientierten Sprachen, die mit denselben Werkzeugen arbeiteten.

Visual Basic und C #: Eine neue Divergenz kommt

Mit der Ankündigung der letzten Woche ist diese Koevolution verschwunden. Microsoft wird die beiden Sprachen unterschiedliche Wege gehen lassen, beginnend mit dem bald erscheinenden Visual Basic 15.

Es ist keine überraschende Scheidung. Die Popularität von C # hat sprunghaft zugenommen, während Visual Basic langsam in den Diagrammen abrutschte und fast vom Radar beliebter Programmierabfrageseiten wie Stack Overflow verschwand. Anwendungsfälle ändern sie auch: Visual Basic wird nach wie vor konzentriert sich auf seinem ursprünglichen Client-Server - Paradigma, während C # ein Werkzeug für die worden ist n -tier web-basierten Anwendungen in der Cloud arbeiten und auf dem Gelände. Da immer mehr Apps für das Web und die Cloud entwickelt wurden, ist es nicht verwunderlich, dass C # für viele Projekte zur ersten Wahl wird.

Es gibt auch Änderungen in der Entwicklung der Sprachen. C # ist zu einem offenen Designmodell übergegangen, was bedeutet, dass seine Benutzer dank einer aktiven Mailingliste und eines öffentlichen GitHub-Repositorys auf dem Fahrersitz sitzen, um neue Funktionen zu priorisieren. Microsoft hat bereits neue Funktionen von außerhalb des Unternehmens übernommen - eine große Veränderung gegenüber den traditionellen Sprachentwicklungsprozessen, die sich auf seine Forschungsgruppen und internen Produktmanagementteams konzentrierten.

Visual Basic verfügt auch über ein offenes Entwurfsmodell, hat jedoch andere Prioritäten als C #. Es unterstützt bereits eine Teilmenge der Funktionen von C # in seinen aktuellen Builds als Teil des Release Candidate von Visual Studio 2017.

Da C # weiterhin von Visual Basic abweicht, werden sich die beiden Sprachen getrennt entwickeln, obwohl sie zusammenarbeiten sollten. Beide sollten weiterhin dieselben .NET-APIs adressieren, und beide sind weiterhin Teil der Visual Studio-Tools.

Was diese Änderungen für Unternehmensentwickler bedeuten

Gegenwärtig können Unternehmen kaum etwas gegen diese bevorstehende Divergenz unternehmen.

Aber in Zukunft gibt es in Visual Basic sicherlich Spielraum für plattformübergreifende Arbeit, da neben dem bekannten .NET Framework auch die .NET Standard-Basisklassenbibliotheken unterstützt werden. Obwohl ein Teil des Codes portabel sein wird, kann nicht der gesamte Visual Basic-Code von einem Satz von Bibliotheken zu einem anderen kleineren Satz springen. Es ist wahrscheinlich, dass vorhandener Code nur unter Windows und ausschließlich in lokalen Anwendungen verbleibt.

Als Entwickler müssen Sie wählen, ob Sie Visual Basic-Code über .NET Standard auf neuere Plattformen bringen oder auf Sprachen wie C # umsteigen möchten, die eine größere Auswahl an Ziel-Frameworks und -Geräten bieten.

Da .NET Standard für alle .NET-Plattformen vorgesehen ist, ist es ein wichtiger Equalizer. Dies ist jedoch nicht für alle .NET-Sprachen erforderlich. Obwohl Visual Basic es auf Systemen benötigt, die nicht über das vollständige .NET Framework verfügen, kann C # Plattformen wie .NET Core direkt ansprechen und auf seine APIs zugreifen. Dies erleichtert auch C # -Derivaten wie Unity die Unterstützung ihrer eigenen spezialisierten APIs.

C # mit Unterstützung für .NET Framework unter Windows und Open Source .NET Core (läuft auf Nano Server und in Containern) wird die erste Wahl für Cloud- und mobile Anwendungen sein, während das funktionale Programmiermodell F # ideal für Finanzdienstleistungen ist und Anwendungen, die auf maschinellem Lernen beruhen.

Ein klarer Treiber für diese Änderungen ist die Xamarin-Akquisition von Microsoft. Microsoft benötigt plattformübergreifende Tools, um eine größere Auswahl an Mobilgeräten zu unterstützen, wobei Windows Mobile nicht wie erhofft Marktanteile im Unternehmen gewinnen kann. Selbst in Windows Mobile-freundlichen Regionen wie Großbritannien haben iOS und Android zusammen mehr als 80 Prozent des Marktes. Microsoft-Entwickler, die mobile Frontends für ihre Anwendungen erstellen möchten, müssen Tools wie Xamarin verwenden, um auf die dominierenden mobilen Plattformen abzuzielen.

Da sich Xamarin auf C # konzentriert, muss Microsoft klarstellen, dass C # in Zukunft die erstklassige .NET-Sprache ist. Obwohl dies in den jüngsten Sprachankündigungen von Microsoft nicht explizit angegeben ist, ist dies stark impliziert.

Wie Sie Ihre Unternehmenssprachenstrategie verwalten sollten

Dies ist kein Abschied von Visual Basic, aber es ist Zeit, eine Bestandsaufnahme zu machen, wo Sie sind und wo Sie sein möchten. Bestehende Visual Basic-Anwendungen können weiterentwickelt werden. Mit der Weiterentwicklung der zugrunde liegenden .NET-Plattform sollten Sie jedoch davon ausgehen, dass Ihren Visual Basic-Entwicklern nur eine Teilmenge der .NET-APIs zur Verfügung steht. Obwohl dies kurzfristig wahrscheinlich kein Problem darstellt, sollten Sie sich auf eine längerfristige Migration auf C # oder F # vorbereiten, insbesondere wenn Sie für Ihre Anwendungen mobile oder plattformübergreifende Benutzererfahrungen planen.

Es scheint klar zu sein, dass die beste Option, um den Überhang an technischen Schulden zu vermeiden, darin besteht, C # zu Ihrer Priorität für neue Entwicklungen zu machen. C # bietet erstklassige Unterstützung und ein benutzergesteuertes Designmodell. Es ist auch das Herzstück der plattformübergreifenden Entwicklung von Microsoft und der universellen Windows-Plattform. Das heißt, Sie können Geschäftslogik einmal schreiben und dann benutzerdefinierte Benutzererfahrungen für das Web, Windows 10, iOS, Android und MacOS bereitstellen. Es gibt auch genug Sprachgemeinschaften, damit Entwickler die Übergänge relativ einfach durchführen und nach dem ersten Training neue Funktionen erwerben können.