Visual Basic (Abk.VB, [ˈvɪʒʊəl ˈbeɪsɪk]),retronymVisual Basic Classic (VBC), ist eineproprietäreobjektorientierteProgrammiersprache. 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 alsVisual Basic Classic, die letzteren hingegen alsVisual Basic .NET (Abk.VB.NET) bezeichnet. Dieser Artikel behandelt Visual Basic Classic.
Der historisch wichtigste Vorteil vonBASIC ist die einfache Erlernbarkeit der Sprache. Die Sprache ist bewusst an die englische Sprache angelehnt und benutzt Wörter anstelle von Symbolen. Beispiele sindAnd statt&&,Or statt||,Mod statt%, wie inC++ üblich.
Da Visual Basic von Anfang an zum Einsatz mit einerintegrierten Entwicklungsumgebung konzipiert wurde, können Visual-Basic-Programme in der Regel mit geringem Zeitaufwand erstellt werden. Dadurch eignet es sich fürRapid 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. DieMSDN Library ist eine der größten Informationssammlungen für Programmierer (Auslieferung auf dreiCDs / eineDVD).
In den frühen 1990ern hatteBASIC, das damals zusammen mit vielenBetriebssystemen geliefert wurde, gegenüber anderen Hochsprachen wieC undC++ 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, visuellenEntwicklungsumgebungen und der unkomplizierten Ausbaufähigkeit der zugehörigenProgrammbibliotheken. Kritiker bemängeln die mangelhafte Funktionalität. Oft ist auch von langsamen Ausführungsgeschwindigkeiten bei leistungsschwachen Rechnern (meist nur während derInterpretation) 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 FirmaMicrosoft, deren Firmengeschichte mit der Entwicklung eines BASIC-Interpreters begann, verband im Jahre 1991 ihrenQuickBASIC-Compiler mit einer Umgebung zur interaktiven Gestaltung vonBenutzeroberflächen. Diese Umgebung, die aufAlan Cooper (manchmal als „Vater“ von Visual Basic bezeichnet) zurückgeht, erlaubte es zum ersten Mal, schnell und einfach Anwendungen fürWindows zu erstellen.
Der Quellcode von Visual-Basic-1-Programmen wurde beimDebuggen in der IDEinterpretiert, 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 sogenanntenP-Code, der von einer virtuellen Maschine interpretiert wurde. Zur Ausführung musste deshalb stets eine separateLaufzeitbibliothek mitgeliefert werden. Dies gilt auch noch für die Versionen 5 und 6 von Visual Basic, die nativen Code erzeugen können.
IDE von VBDOSVBDOS-Hilfedatei
Visual Basic für Windows kam vor Visual Basic fürMS-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.[2] 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 wurdenObjekte eingeführt. Ab Visual Basic 2 wurden außerdem sogenannteZusatzsteuerelemente (englischControls) 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.
Das nach einer längeren Pause im Jahre 1996 veröffentlichte Visual Basic 4 gab es erstmals nicht nur in einer16-Bit-Version für Windows-Systeme bisVersion 3.1, sondern auch als32-Bit-Version, mit der man fürWindows NT undWindows 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 inMaschinencodekompiliert. Damit war es – im Gegensatz zu den Vorgängerversionen – nicht mehr möglich, denQuelltext von Visual-Basic-Programmen aus der ausführbaren Datei zu extrahieren. Außerdem ergab sich ein erheblicherPerformancegewinn. 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 etwaC++-Programme.
1998 wurden der Sprache (mit Visual Basic 4, 5 und6) objektorientierte Elemente hinzugefügt, jedoch ohne alle (harten) Bedingungen derobjektorientierten Programmierung zu erfüllen. Visual Basic 6 war dabei die letzte Ausgabe, welche die Erstellung vonWin32-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 vonActiveX-Steuerelementen fürOCX-Bibliotheken genutzt werden konnte.
Für die Entwicklung vonWindows 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.
Visual Basic Script (kurzVBScript oderVBS) ist eineinterpretierte 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 denWindows Scripting Host erstellt werden. Dabei kann VBS auf alleCOM-Objekte mitIDispatch-Schnittstelle zugreifen. VBS wurde außer für Windows- und clientseitige Web-Scripts auch für serverseitige Web-Scripts in einerASP-Umgebung verwendet. MitASP.NET wurde VBS jedoch durch VB.NET verdrängt.
Visual Basic for Applications (kurzVBA) ist ebenfalls eine auf Visual Basic Classic basierende interpretierteSkriptsprache. Sie wurde speziell zum Automatisieren wiederkehrender Aufgaben innerhalb andererProgramme entwickelt und hat große Popularität erlangt, seit Microsoft es mit seinemBüroprogrammOffice ausliefert. Über die ältesten VBA-Anbindungen verfügenMicrosoft Excel (seit 1994),Microsoft Access (seit 1995) undMicrosoft Word (seit 1997). Auch VBA konkurriert mit .NET, da Visual Studio .NET mit denVisual Studio Tools for Applications (vormalsVisual Studio Tools for Office) ausgeliefert wird, die eine ähnliche Funktion wie VBA übernehmen.
Die Syntax von Visual Basic Classic ist an seinem Vorgänger,QuickBASIC, angelehnt. DiesesHallo-Welt-Programm enthält die StartfunktionMain des Programmes. Der BefehlMsgBox erstellt das Meldungsfeld.