# Visual Basic Classic

Visual Basic (Abk. VB, [ˈvɪʒʊəl ˈbeɪsɪk]), retronym Visual Basic Classic (VBC), ist eine proprietäre objektorientierte Programmiersprache. Um zwischen den alten, nur objektbasierten, und den neuen, auf dem .NET-Framework basierenden Versionen zu unterscheiden, werden erstere bis inklusive Visual Basic 6.0 als Visual Basic Classic, die letzteren hingegen als Visual Basic .NET (Abk. VB.NET) bezeichnet. Dieser Artikel behandelt Visual Basic Classic.

## Einführung

Der historisch wichtigste Vorteil von BASIC ist die einfache Erlernbarkeit der Sprache. Die Sprache ist bewusst an die englische Sprache angelehnt und benutzt Wörter anstelle von Symbolen. Beispiele sind And statt &&, Or statt ||, Mod statt %, wie in C++ üblich.
Da Visual Basic von Anfang an zum Einsatz mit einer integrierten Entwicklungsumgebung konzipiert wurde, können Visual-Basic-Programme in der Regel mit geringem Zeitaufwand erstellt werden. Dadurch eignet es sich für Rapid Application Development. Die Besonderheit war die grafische Erstellung von Programmoberflächen, was zum Zeitpunkt des Erscheinens nur von wenigen Programmierumgebungen geboten wurde.
Visual Basic gilt als sehr gut dokumentiert. Die MSDN Library ist eine der größten Informationssammlungen für Programmierer (Auslieferung auf drei CDs / eine DVD).
Visual Basic unterstützt sowohl statische als auch dynamische Typisierung über den „Variant“-Datentyp.

## Geschichte

In den frühen 1990ern hatte BASIC, das damals zusammen mit vielen Betriebssystemen geliefert wurde, gegenüber anderen Hochsprachen wie C und C++ an Bedeutung verloren. BASIC bot eine viel eingeschränktere Funktionalität und Erweiterbarkeit, wodurch es für den professionellen Einsatz nicht geeignet war.
Der spätere historische Erfolg von Visual Basic beruht vor allem auf der einfachen Erlernbarkeit, visuellen Entwicklungsumgebungen und der unkomplizierten Ausbaufähigkeit der zugehörigen Programmbibliotheken. Kritiker bemängeln die mangelhafte Funktionalität. Oft ist auch von langsamen Ausführungsgeschwindigkeiten bei leistungsschwachen Rechnern (meist nur während der Interpretation) die Rede, welche jedoch heute bei modernen Rechnern nach der Übersetzung vernachlässigbar ist.

### 1991: Visual Basic 1 und Visual Basic für DOS – Die Anfänge

Die Firma Microsoft, deren Firmengeschichte mit der Entwicklung eines BASIC-Interpreters begann, verband im Jahre 1991 ihren QuickBASIC-Compiler mit einer Umgebung zur interaktiven Gestaltung von Benutzeroberflächen. Diese Umgebung, die auf Alan Cooper (manchmal als „Vater“ von Visual Basic bezeichnet) zurückgeht, erlaubte es zum ersten Mal, schnell und einfach Anwendungen für Windows zu erstellen.
Der Quellcode von Visual-Basic-1-Programmen wurde beim Debuggen in der IDE interpretiert, das heißt, der Quellcode wurde während der Ausführung abgearbeitet. Die mit der Compilierung erzeugten Programmdateien (EXE-Datei) enthielten keinen direkt ausführbaren Maschinencode, sondern sogenannten P-Code, der von einer virtuellen Maschine interpretiert wurde. Zur Ausführung musste deshalb stets eine separate Laufzeitbibliothek mitgeliefert werden. Dies gilt auch noch für die Versionen 5 und 6 von Visual Basic, die nativen Code erzeugen können.
Visual Basic für Windows kam vor Visual Basic für MS-DOS (Abk. „VBDOS“) auf den Markt. VBDOS basierte stärker auf den Vorgängern Microsoft BASIC PDS bzw. QuickBASIC und konnte entsprechenden Quellcode unmittelbar verarbeiten. VBDOS erzeugte Programme für den Ablauf unter DOS (und hierbei auch eigenständig ausführbare Dateien ohne eine zusätzliche Laufzeitbibliothek), nicht aber Windows-Programme. Während die Windows-Variante von Visual Basic eine grafische Benutzeroberfläche hatte und auch Bitmaps anzeigen konnte, lief VBDOS im Textmodus und bildete eine quasi-grafische Benutzeroberfläche aus ASCII-Zeichen nach. VBDOS war nicht so erfolgreich wie die Version für Windows, sodass es nie eine Nachfolgeversion gab.
Mit Visual Basic wurde die Strategie der verschiedenen Ausführungen eingeführt. Vorher entsprach QuickBASIC der „Standard Edition“ und BASIC PDS der „Professional Edition“. Es waren Beispielprogramme enthalten, die zum Beispiel die Einbindung eines Hilfesystems, die Unterstützung von Windows-Schriftarten und die Verwendung von Präsentationsgrafiken demonstrierten.

### 1992–1993: Visual Basic 2–3 – Integrierung des Entwicklungsprozesses

Mit den nur noch unter Windows erschienenen Folgeversionen „Visual Basic 2“ (1992) und „Visual Basic 3“ (1993) wurden vor allem Erweiterungen der Sprache und der Entwicklungsumgebung umgesetzt. Unter anderem wurden Objekte eingeführt. Ab Visual Basic 2 wurden außerdem sogenannte Zusatzsteuerelemente (Controls) vom Typ VBX (Visual Basic Extensions) unterstützt, mit denen fremde Hersteller oder andere C-Programmierer die Funktionalität von Visual Basic erweitern konnten, und die ein wichtiger Faktor beim Erfolg von Visual Basic waren.

### 1996–1998: Visual Basic 4–6 – 32 Bit und COM

Das nach einer längeren Pause im Jahre 1996 veröffentlichte Visual Basic 4 gab es erstmals nicht nur in einer 16-Bit-Version für Windows-Systeme bis Version 3.1, sondern auch als 32-Bit-Version, mit der man für Windows NT und Windows 95 optimierte Programme erstellen konnte. Dem Sprung von 16 auf 32 Bit folgte im darauffolgenden Jahr die nächste große Neuerung: Visual-Basic-5-Programme wurden erstmals in Maschinencode kompiliert. Damit war es – im Gegensatz zu den Vorgängerversionen – nicht mehr möglich, den Quelltext von Visual-Basic-Programmen aus der ausführbaren Datei zu extrahieren. Außerdem ergab sich ein erheblicher Performancegewinn. Erkauft wurde der Geschwindigkeitszuwachs hauptsächlich durch unsichere Optimierungen, erkennbar an einem oft abweichenden Verhalten der in Maschinencode kompilierten Programme. Durch diese Neuerungen eignete sich Visual Basic 5 erstmals auch zum Erstellen zeitkritischer Anwendungen. Trotzdem waren Visual-Basic-Programme immer noch langsamer als etwa C++-Programme.
Mit Visual Basic 4, 5 und 6 (1998) wurden der Sprache objektorientierte Elemente hinzugefügt, jedoch ohne alle Kriterien der objektorientierten Programmierung zu erfüllen. Visual Basic 6 war dabei die letzte Visual-Basic-Version, die die Erstellung von nativen Win32-Programmen ermöglichte.
Visual Basic 4 erweiterte das Konzept von „Standard Edition“ und „Professional Edition“ um die „Enterprise Edition“. Mit Visual Basic 5 wurde außerdem eine „Control Creation Edition“ (CCE) veröffentlicht, die zwar kostenlos war, jedoch prinzipiell nur zur Erstellung von Steuerelementen (ActiveX-Controls, OCX) genutzt werden konnte.

### Embedded Visual Basic (EVB)

Für die Entwicklung von Windows Mobile/Windows CE Anwendungen gab es eine spezielle Version mit dem Namen Embedded Visual Basic. Sie ähnelte stark dem klassischen VB und wurde mit dem Erscheinen von VB.NET eingestellt. Bis Windows Mobile 2003 war die notwendige Laufzeitbibliothek Bestandteil des Betriebssystems, später konnte diese separat nachinstalliert werden.

## Ableger

Aufgrund seiner Popularität und einfachen Erlernbarkeit wurde Visual Basic Classic von Microsoft für verschiedene spezifische Umgebungen adaptiert.

### Visual Basic Script

Visual Basic Script (kurz VBScript oder VBS) ist eine interpretierte Visual-Basic-Variante, die zum Erstellen von dynamischen Webseiten oder kleineren Scripts eingesetzt wird. Die Sprache verwendet die gleiche Syntax wie Visual Basic Classic. Oberflächen können nicht direkt, sondern nur indirekt durch Einbetten des VBScript-Codes in HTML über den Windows Scripting Host erstellt werden. Dabei kann VBS auf alle COM-Objekte mit IDispatch-Schnittstelle zugreifen. VBS wurde außer für Windows- und clientseitige Web-Scripts auch für serverseitige Web-Scripts in einer ASP-Umgebung verwendet. Mit ASP.NET wurde VBS jedoch durch VB.NET verdrängt.

### Visual Basic for Applications

Visual Basic for Applications (kurz VBA) ist ebenfalls eine auf Visual Basic Classic basierende interpretierte Skriptsprache. Sie wurde speziell zum Automatisieren wiederkehrender Aufgaben innerhalb anderer Programme entwickelt und hat große Popularität erlangt, seit Microsoft es mit seinem Büroprogramm Office ausliefert. Über die ältesten VBA-Anbindungen verfügen Microsoft Excel (seit 1994), Microsoft Access (seit 1995) und Microsoft Word (seit 1997). Auch VBA konkurriert mit .NET, da Visual Studio .NET mit den Visual Studio Tools for Applications (vormals Visual Studio Tools for Office) ausgeliefert wird, die eine ähnliche Funktion wie VBA übernehmen.

## Entwicklungsumgebungen

Die (historisch bedingt) populärste integrierte Entwicklungsumgebung für Visual Basic ist „Microsoft Visual Basic“, zu der es keine Alternative gab.

## Syntaxbeispiel

Die Syntax von Visual Basic Classic ist an seinem Vorgänger, QuickBASIC, angelehnt. Dieses Hallo-Welt-Programm enthält die Startfunktion Main des Programmes. Der Befehl MsgBox erstellt das Meldungsfeld.

## Rechtliche Aspekte

Visual Basic Classic ist, anders als viele moderne Hochsprachen, kein offener Standard, sondern proprietär und geistiges Eigentum von Microsoft.