Visual Basic (VB)

Eintrag zuletzt aktualisiert am: 08.04.2016

 Fachbücher zum Thema Visual Basic (VB)

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.

Versionsgeschichte: (siehe auch jeweils eigene Beiträge)
Visual Basic 1.0
Visual Basic 3.0
Visual Basic 4.0
Visual Basic 5.0
Visual Basic 6.0
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

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. Auch "Visual Basic (.NET)" wir häufig verwendet.