Die Visual Basic Sprachfamilie

Visual Basic

Was ist Basic?

Dialekte der Sprachfamilie Basic stehen heute nur noch selten auf dem Lehrplan. Die Gründe dafür sind vielfältig und durchaus stichhaltig, dennoch wird Dir in Deinem Berufsleben vermutlich immer wieder einmal die ein oder andere Variante des wohl berühmtesten Vertreters dieser Sprache begegnen: Visual Basic. Hier wollen wir beleuchten, wie Visual Basic so beliebt werden konnte, welche Varianten von Visual Basic es gibt und warum auch Du dich für diese Sprache interessieren könntest.

Einfach zu lernen und trotzdem mächtig: Visual Basic

Als die so genannten Heimcomputer Ende der 80iger Jahre langsam Einzug in die Wohnzimmer hielten, waren die meisten Besitzer eines Computers notgedrungen auch Hobbyprogrammierer. Schon in den 60iger Jahren wurde in Amerika die Programmiersprache Basic erfunden, die einem bislang wenig verbreiteten Programmierparadigma, der so genannten strukturierten Programmierung folgte.

Ein Interpreter für Microsoft QBasic, einer kommandozeilenorientierten Version von Basic, war in jeder Windows Version bis Windows 95 von Anfang an installiert. Die grafische Benutzeroberfläche gewann aber zu dieser Zeit enorm an Bedeutung und auch die Hobbyprogrammierer wünschten sich eine Umgebung, mit der sie auf einfache Weise professionell aussehende Programme für die grafische Benutzeroberfläche gestalten können. Das im Windows eingebaute QBasic war hierfür nicht geeignet, Sprachen wie C++ waren jedoch meist zu komplex für Programmierer ohne formale Ausbildung.

Zu dieser Zeit begannen trotzdem einige Nutzer, auf Entwicklungsumgebungen von Fremdanbietern zurückzugreifen und neue Sprachen wie z.B. Delphi zu lernen. Um diesem Trend entgegenzuwirken entwickelte Microsoft die Visual Basic Entwicklungsumgebung. Da die Syntax sich sehr stark an QBasic anlehnte, erfreute sich die Sprache schnell großer Beliebtheit: Microsoft veröffentlichte insgesamt 6 Versionen der Entwicklungsumgebung, bis dass Visual Basic als Sprache mit einem eigenständigen Compiler eingestellt wurde.

Um die große Zahl der VB-Programmierer eine Möglichkeit zu geben, an den Innovationen im Windowsumfeld weiter teilzunehmen, schuf Microsoft dann Visual Basic.NET, das bis heute eine wichtige Sprache für .NET-Programmierer ist. Visual Basic.NET hat keine eigene Entwicklungsumgebung mehr, es ist, wie alle anderen .NET-Sprachen, im Visual Studio integriert. In vielen Bereichen behandelt Microsoft Visual Basic.NET als gleichwertig zum moderneren C# und unterstützt die Sprache bis heute auch als Sprache zur Erstellungen moderner Anwendungen, beispielsweise im ASP.NET MVC Umfeld. Dafür wurde VB.NET um grundlegende Funktionalitäten wie Ausnahmebehandlung und Objektorientierung ergänzt.

Visual Basic ist nicht gleich Visual Basic!

Wegen der einfachen Erlernbarkeit und der guten Einbindung in Windows kam bei den Anwendern schnell der Wunsch auf, auch innerhalb von Office Visual Basic anstatt der bisher verfügbaren Makro-Sprachen zu nutzen, um Abläufe zu automatisieren. So entstand Visual Basic for Applications (VBA), das bis heute in jeder Office-Anwendung zur Verfügung steht und Vorbild für andere Basic-Makro Sprachen im Officebereich ist.

Während des Übergangs von VB6 zu VB.NET entwickelte Microsoft für Windows CE eine Version von VB für die Embedded Programmierung, außerdem existiert VB-Script, das als Skriptsprache zur Verwendung innerhalb von VB-Anwendungen gedacht war. Beide Projekte hatten keine weite Verbreitung und führen heute ein Nischendasein.

Vor allem wegen der weiten Verbreitung von VBA solltest du als junger Programmierer zumindest die grundlegenden Sprachelemente von VB einmal gesehen haben, manche kleine Aufgabe löst sich so wesentlich effizienter als durch ein eigenständiges Programm.

Was kann ich mit VBA machen? Was sollte ich besser nicht tun?

Mit VBA ist es möglich, Eingabemasken, Datei- und Datenbankzugriffe und produktübergreifende Anwendungen herzustellen, die beispielsweise Excel-Funktionalität innerhalb eines Word-Dokuments zur Verfügung stellen, solange beide Anwendungen installiert sind. Es eignet sich für komplexere Berechnungen innerhalb von Excel-Zellen, um das Ausfüllen eines gemeinsam genutzten Dokuments zu steuern, und um kleine Helfer für den Büroalltag zu erstellen, die problemlos per E-Mail ausgetauscht werden können. Bedenke, dass bei allen Nutzern die Microsoft Office Produkte installiert sein müssen. Zugriffe auf das Dateisystem sind generell möglich, dennoch solltest du Anwendungen, die viele Daten lesen und schreiben, die viel Rechenzeit benötigen oder die in einer heterogenen Umgebung eingesetzt werden, lieber nicht in VBA schreiben. Unterschiedliche Office Versionen unterstützten nicht unbedingt den selben Funktionsumfang, das kann bei ausgefeilten VBA-Makros zu Problemen führen.

VBA hat, ähnlich wie VB6, nur wenig Möglichkeiten, Sicherheitsfunktionen zu implementieren, automatisierte Unit-Tests sind nicht vorgesehen und eine Ausnahmebehandlung fehlt völlig. Sicherheitskritische Anwendungen außerhalb Deines Einflussbereichs solltest Du also auf keinen Fall in VBA programmieren wenn Du es vermeiden kannst. Durch saubere Programmierung kann man Abstürze und kryptische Fehlermeldungen zwar minimieren, trotzdem bleibt VBA berüchtigt für seine manchmal “launischen” Verhaltensweisen.

Quo vadis, VB?

Visual Basic ist, anders als viele andere Programmiersprachen kein offener Standard sondern das geistige Eigentum von Microsoft. Alle Teile der Toolchain sind closed source. Microsoft unterstützt VB6 (heutzutage VB Classic genannt) seit Windows 7 nicht mehr, der Installer der Entwicklungsumgebung produziert während der Installation eine Reihe von Fehlermeldungen, die IDE ist aber noch lauffähig. Viele VB-Programmierer scheuen den Umstieg auf VB.NET weil .NET Anwendungen sehr viel einfacher dekompiliert werden können als die alten VB Anwendungen.

Als Einsteiger lohnt es sich auch heute noch VBA zu lernen, das Lernen von VB.NET erscheint vom heutigen Standpunkt aus weniger lohnend. Der Sprachumfang von C# ist wesentlich größer, die Sprache ist näher an den Konzepten anderer moderner Programmiersprachen wie Java oder C++. Dennoch ist es mit VB.NET prinzipiell möglich, den vollen Funktionsumfang von .NET zu benutzen.

Gerade bei Kollegen älterer Jahrgänge wirst Du mit grundlegenden VB-Kenntnissen manches mal punkten können. Es lohnt sich also durchaus, an einem verregneten freien Nachmittag einmal Excel zu starten, den VBA-Editor aufzurufen und ein paar kleine Makros zu bauen, viel Spaß!

Rückmeldungen