Begriff Visual Basic
Abkürzung VB
Eintrag zuletzt aktualisiert am 12.03.2020

 Zur Stichwortliste unseres Lexikons

Was ist Visual Basic?

Visual Basic ist eine beliebste Programmiersprache in der Windows-Welt. Visual Basic wird von Microsoft entwickelt.
Versionen 1.0 bis 6.0 basierten auf Native Code und nutzten seit Version 4.0 das Component Object Model (COM)
Seit Version 7.0 erzeugt der Visual Basic-Compiler Managed Code für das .NET Framework. Diese Versionen werden landläufig als "Visual Basic .NET" bezeichnet, auch wenn der offiziele Sprachname seit dem Jahr 2005 ohne ".NET" lautet.

Visual Basic oder Visual Basic .NET?
In der Dokumentation von Microsoft wird die Programmiersprache immer nur mit "Visual Basic" bezeichnet, während der Tiobe Index [https://www.tiobe.com/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 dem ".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.

Versionsgeschichte der COM-basierten Versionen
Visual Basic 1.0
Visual Basic 3.0
Visual Basic 4.0
Visual Basic 5.0
Visual Basic 6.0

Versionsgeschichte der .NET-basierten Versionen
Visual Basic .NET 7.0 - alias Visual Basic .NET 2002
Visual Basic .NET 7.1 - alias Visual Basic .NET 2003
Visual Basic 8.0 - alias Visual Basic 2005 (das .NET im Namen ist nun wieder entfallen)
Visual Basic 9.0 - alias Visual Basic 2008
Visual Basic 10.0 - alias Visual Basic 2010
Visual Basic 11.0 - alias Visual Basic 2012
Visual Basic 12.0 - alias Visual Basic 2013
Visual Basic 14.0 - alias Visual Basic 2015
Visual Basic 15.0 - alias Visual Basic 2017
Visual Basic 16.0 - alias Visual Basic 2019

Ende der Weiterentwicklung seit 2020
Microsoft hat die Weiterentwicklung der Programmiersprache Visual Basic .NET am 11.3.2020 offiziell einstellt: "Going forward, we do not plan to evolve Visual Basic as a language." und einem Blogeintrag [https://devblogs.microsoft.com/vbteam/visual-basic-support-planned-for-net-5-0/] erklärt, 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."

Hintergrundinformationen
Visual Basic hat eine lange Tradition in der Windows-Entwicklerwelt. Die Sprache galt in den Versionen 1.0 bis 6.0 als einfach und sehr produktiv, war aber gleichzeitig auch als unsauber und unstrukturiert verpönt (gerade bei den Entwicklern, die mit C++, Delphi oder Java gearbeitet haben). Visual Basic 6.0 war allenfalls eine objektbasierte Sprache. Es fehlten insbesondere Konstrukte zur Implementierungsvererbung.

Mit dem Versionswechsel von Visual Basic 6.0 zur Version 7.0 hat Microsoft jedoch einen radikalen Wandel vollzogen. Die 7.0-Version wurde eine echte eine echte objektorientierte Sprache mit Vererbung, fast ebenso mächtig wie die zeitgleich neu entwickelte Sprache C#. Bis zur aktuellen Version 9.0 gab es weitere Angleichungen, z.B. Operatorüberladung.

In Visual Basic 7.1 wurden nur Kleinigkeiten ergänzt. Visual Basic hat dann in den Versionen Version 8.0 (alias 2005) und 9.0 (alias 2008) nochmals eine erhebliche Aufwertung durch zusätzliche Sprachkonstrukte erfahren und kommt der Sprache C# noch näher. Die verbliebenen Unterschiede zwischen C# und Visual Basic sind primär syntaktischer Natur und für die meisten Problemszenarien unerheblich.

Bereits seit Visual Basic .NET 7.0 ist Visual Basic eine echte objektorientierte Sprache mit Vererbung, die bis auf wenige Ausnahmen ebenso mächtig ist wie die Sprache C#. Microsoft hat bei VB.NET ganz be-wusst auf die Kompatibilität mit der Vorgängerversion VB 6.0 verzichtet. Inkompatibilitäten wurden aus zwei Gründen hingenommen:
1. Alle Features aus VB 6.0, die signifikante Verwirrung bei den Entwicklern stifteten, wurden bereinigt.
2. Alle Features aus VB 6.0, die nicht kompatibel mit dem .NET Framework waren, wurden geändert oder entfernt.
Eine Aussage von COM- und .NET-Guru Don Box über VB7, die bereits aus dem Jahr 2001 stammt, sei hier zitiert: »Visual Basic .NET bedeutet, dass man sich nicht länger schämen muss, ein VB-Entwickler zu sein!«

Etwas konfus war die Namensgebung. Aus Visual Basic 6.0 wurde Visual Basic .NET 7.0. Jedoch hat Microsoft beginnend mit Version 8.0 in .NET 2.0 wieder auf den Zusatz .NET verzichtet, sodass die Ver-sionen seitdem Visual Basic 8.0 (alias Visual Basic 2005) und Visual Basic 9.0 (alias Visual Basic 2008) hießen. Die offizielle Begründung war, dass es nun hinlänglich bekannt sei, dass die neuen Versionen .NET-basiert seien. Der Autor dieses Beitrags vermutet jedoch, dass dies eher passiert ist, um den Wider-stand einiger Entwickler zu brechen, die nicht von Visual Basic 6.0 auf .NET umsteigen wollten. Befürch-ten kann man nur, dass – nach¬dem Microsoft eine Zeit lang die Buchstaben .NET auf alles geklebt hat, egal ob .NET drin war oder nicht – nun das Ruder in das andere unvernünftige Extrem umschlägt.

Seit dem Entfall von ".NET" im Namen fällt es schwer in der Schriftsprache zwischen dem "alten" Visual Basic (Versionen 1.0 bis 6.0) und dem neuen Visual Basic (Versionen ab 7.0) zu unterscheiden. Es bietet sich am, vom "klassischen Visual Basic" oder "COM-basierten Visual Basic" im Kontrast zum .NET-basierten Visual Basic zu sprechen. Daher wird meist "Visual Basic .NET" verwendet, auch wenn dies nicht mehr der offizielle Sprachnahme ist.

Erst Co-Evulotion, dann doch nicht mehr
Microsoft hatte im Jahr 2010 noch die "Co-Evolution"-Strategie für C# und Visual Basic verkündet [https://docs.microsoft.com/de-de/archive/blogs/scottwil/vb-and-c-coevolution]: Beiden Sprachen sollten sich hinsichtlich der Sprachfeatures und der Werkzeugunterstützung im Gleichschritt entwickeln. Diese Strategie wurde 2017 wieder beendet [https://devblogs.microsoft.com/dotnet/the-net-language-strategy/] mit dem Argument, 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. Dies hat der Hersteller aber in .NET Core, das seit 2016 in drei Haupt- und mehreren Unterversionen erschienen ist, schon nicht mehr umgesetzt. Nun 2020 stellt Microsoft die Weiterentwicklung der Sprache auf dem Status Quo ein.

Weitere Ressoucen auf dieser Website

 Liste der .NET-fähigen Programmiersprachen (Produktreferenz)
 Codebeispiele .NET (C#, Visual Basic und PowerShell)

Beratung & Support:

Schulungen zu diesem Thema

 Visual Basic .NET - Aufbauwissen
 Grundlagen der objektorientierten Programmierung anhand von C# oder Visual Basic .NET
 Unit Testing / Testgetriebene Entwicklung / Test Driven Development (TDD) von .NET-Anwendungen (C# oder Visual Basic .NET)
 Visual Basic 6.0 (VB6.0)
 Objektorientierte Entwurfsmuster (Design-Pattern/Architektur-Pattern) mit .NET (C#, Visual Basic .NET, C++/CLI)
 Visual Basic .NET - Basiswissen
 Windows Modern Apps/Windows Universal Apps entwickeln mit der Windows Runtime (WinRT), XAML und .NET/C#/Visual Basic
 Visual Basic Script (VBScript/VBS) - Sprachsyntax und Praxiseinsatz
 Word-Programmierung mit Visual Basic for Applications (VBA)
 Visual Studio Tools for Microsoft Office (VSTO) - Microsoft Office-Programmierung mit .NET und C# oder Visual Basic in Visual Studio
 Multi-Threading in .NET mit C#/Visual Basic .NET und/oder C++ und C++/CLI
 C# für Umsteiger von Visual Basic .NET
 Objektorientierte Programmierung (OOP) mit C#, Java, C++, Visual Basic.NET o.ä.
 Excel-Programmierung mit Visual Basic for Applications (VBA)
 Visual Basic .NET für Umsteiger von VBA/VB 4/5/6
 Visual Basic 2005 (Visual Basic 8.0)
 .NET und C# für Umsteiger von klassischem Visual Basic/COM
 Outlook-Programmierung mit Visual Basic for Applications (VBA)
 Das Component Object Model - für Script- und Visual Basic-Entwickler
 JavaScript und TypeScript für .NET-/C#-/VB-/C++/Java-Entwickler
 Microsoft Access - Entwicklung von Datenbanklösungen inklusive VBA
 .NET-Programmierung im SQL Server (SQLCLR) - Common Language Runtime (CLR)-Integration in SQL Server
 Language Integrated Query (LINQ)
 .NET-Überblick für .NET-Einsteiger und .NET-Entscheider (wahlweise für .NET Framework 4.x und/oder .NET 6.0)
 Windows Scripting
 .NET und COM nutzen in der Windows PowerShell
 Windows PowerShell 5.1/PowerShell 7.0 für System- und Netzwerkadministratoren
 Von ASP.NET 1.1 nach ASP.NET 2.0: Neuerungen in ASP.NET 2.0
 Task Parallel Library (TPL) - Parallelprogrammierung/Multi-Threading in .NET/C#
 .NET im Überblick für Softwareentwickler
 Anfrage für eine individuelle Schulung zum Thema Visual Basic;VB  Gesamter Schulungsthemenkatalog

Bücher zu diesem Thema

 C# 9.0 Crashkurs: Die Syntax der Programmiersprache C# für die Softwareentwicklung in .NET 5.0, .NET Core und Xamarin (Kindle-E-Book)
 .NET 3.5
 C# 9.0 Crashkurs: Die Syntax der Programmiersprache C# für die Softwareentwicklung in .NET 5.0, .NET Core und Xamarin (PDF-E-Book)
 Windows Scripting (5. Auflage)
 C# 7.2 Crashkurs: Die Syntax der Programmiersprache C# für die Softwareentwicklung in .NET Framework, .NET Core und Xamarin (PDF-E-Book)
 ASP.NET 4.0 mit Visual C# 2010
 Microsoft .NET 2.0 Crashkurs - Final Edition
 Essential PowerShell
 C# 10.0 Crashkurs: Die Syntax der Programmiersprache C# für die Softwareentwicklung in .NET Framework, .NET Core, .NET 5.0 und .NET 6.0 (PDF-E-Book)
 Microsoft ASP.NET 3.5 mit Visual C# 2008 - Das Entwicklerbuch
 C# 10.0 Crashkurs: Die Syntax der Programmiersprache C# für die Softwareentwicklung in .NET Framework, .NET Core, .NET 5.0 und .NET 6.0 (gedruckte Ausgabe)
 C# 7.3 Crashkurs: Die Syntax der Programmiersprache C# für die Softwareentwicklung in .NET Framework, .NET Core und Xamarin (PDF-E-Book)
 Office 2010 Programmierung mit VSTO und .NET 4.0: Word, Excel und Outlook erweitern und anpassen
 Microsoft ASP.NET 2.0 mit Visual Basic 2005 - Das Entwicklerbuch
 .NET 3.5 Crashkurs
 Windows Scripting Lernen, 6. Auflage
 Microsoft .NET 4.5 Update - Crashkurs (E-Book - PDF)
 Visual Basic 2010: Grundlagen, ADO.NET, Windows Presentation Foundation
 C# 8.0 Crashkurs: Die Syntax der Programmiersprache C# für die Softwareentwicklung in .NET Framework, .NET Core und Xamarin (gedruckte Ausgabe)
 Windows Scripting Lernen 5. Auflage
 C# 10.0 Crashkurs: Die Syntax der Programmiersprache C# für die Softwareentwicklung in .NET Framework, .NET Core, .NET 5.0 und .NET 6.0 (Kindle-E-Book)
 .NET 4.0 Crashkurs
 C# 8.0 Crashkurs: Die Syntax der Programmiersprache C# für die Softwareentwicklung in .NET Framework, .NET Core und Xamarin (Kindle-E-Book)
 C# 7.3 Crashkurs: Die Syntax der Programmiersprache C# für die Softwareentwicklung in .NET Framework, .NET Core und Xamarin (Kindle-E-Book)
 C# 9.0 Crashkurs: Die Syntax der Programmiersprache C# für die Softwareentwicklung in .NET 5.0, .NET Core und Xamarin (gedruckte Ausgabe)
 C# 7.3 Crashkurs: Die Syntax der Programmiersprache C# für die Softwareentwicklung in .NET Framework, .NET Core und Xamarin (gedruckte Ausgabe)
 Visual Basic 2010
 Webanwendungen mit ASP.NET 3.5 und AJAX Crashkurs
 Microsoft ASP.NET 3.5 mit Visual Basic 2008 - Das Entwicklerbuch
 C# 8.0 Crashkurs: Die Syntax der Programmiersprache C# für die Softwareentwicklung in .NET Framework, .NET Core und Xamarin (PDF-E-Book)
 Microsoft .NET 4.5 Update - Crashkurs
 Microsoft ASP.NET 2.0 mit C# 2005 - Das Entwicklerbuch
 Windows Scripting Lernen, 2. Auflage
 Alle unsere aktuellen Fachbücher  E-Book-Abo für nur 99 Euro im Jahr