Fangen Sie bitte nicht mit diesem Thema an

Die schweigende Mehrheit: Warum Visual Basic 6 noch immer erfolgreich ist

David Platt

 

David Platt

Microsoft hat kürzlich die “It Just Works”-Kompatibilität für Visual Basic 6 Anwendungen auf den gesamten Lebenszyklus von Windows 8 ausgedehnt (siehe dazu das Editorial dieses Monats "Alte Liebe rostet nicht"). Visual Basic 6 veränderte sich zum ersten Mal im Jahr 1998, aus diesem Grund werden seine Anwendungen einen Support für eine Lebensdauer von mindestens 24 Jahren erhalten. Im Vergleich dazu ist das Microsoft .NET Framework 1.0 (2002) mit Windows 7 (2009) nicht mehr kompatibel.

Einer meiner Studenten mit Namen Eric scherzte einmal, dass Visual Basic 6 "die resistente Küchenschabe" im Windows-Ökosystem sei. Dieser Vergleich ist tiefergründig, als Sie vielleicht zuerst denken. Küchenschaben sind erfolgreich, da sie einfach sind. Sie tun das, was sie innerhalb ihrer ökologischen Nische tun müssen und nicht mehr. Visual Basic 6 tat, was seine Erschaffer für seine Marktnische im Sinn hatten: Es ermöglichte Programmierern mit geringen Erfahrungen eine rasche Entwicklung von Standardprogrammen. Es war nie für hoch qualifizierte Programmierer gedacht, die komplexe Anwendungen entwickeln.

Visual Basic 6 erreichte diese Ziele dadurch, dass es von der Komplexität des zugrunde liegenden Windows Betriebssystem abstrahierte. Einfaches war einfach zu erreichen. Auf der anderen Seite waren jedoch komplexe Anforderungen, wie z. B. das Behandeln von Threads, unmöglich umzusetzen. Meine Faustregel für Visual Basic 6 war folgende: Wenn ich etwas nicht innerhalb von 10 Minuten erledigen konnte, konnte ich es gar nicht erledigen.

Ein weiterer Erfolgsschlüssel von Visual Basic 6 war die flachere Lernkurve aufgrund des begrenzten Funktionsumfangs. Busfahrer wird man in kürzerer Zeit als Kampfjetflieger. Ein guter Visual Basic 6 Programmierer wurde man in weitaus kürzerer Zeit als ein guter C++ Programmierer, die erste Alternative zu der damaligen Zeit.

Als Microsoft Visual Basic .NET zu einer "vollwertigen Sprache" machte, versah sie das Unternehmen mit derselben Macht und begleitenden Komplexität über die C# verfügt—Threads, Hintergrundoperationen und Vererbungen, um nur einige zu nennen. Daher erforderte diese dieselben Fähigkeiten wie das Programmieren in C#, dieselbe Lernkurve und dieselben Erfahrungen.

Microsoft tat dies, da man dort dachte, es hätte Stimmen gegeben, die verlauten ließen, dass die Visual Basic 6 Gemeinde dies bräuchte. Visual Basic 6 Programmierer jedoch versinnbildlichen die "schweigende Mehrheit", dieser Begriff wurde durch den US-Präsidenten Richard Nixon im Jahr 1969 geprägt, um seine nicht-protestierenden und keiner Gegenbewegung angehörenden Unterstützer in jener turbulenten Zeit zu beschreiben. Nahezu alle Visual Basic 6 Programmierer waren mit dem zufrieden, was Visual Basic 6 konnte. Sie waren damit zufrieden, Busfahrer zu sein: Das Büro um 5 Uhr nachmittags verlassen zu können. (oder um halb 5 an einem wirklich guten Tag) und nicht bis Mitternacht arbeiten zu müssen; mit ihren Kindern am Wochenende zu spielen anstelle wieder ins Büro zu trotten; Abende mit ihrer Familie und nicht mit dem Computer zu verbringen und kalte Pizza zum Frühstück zu essen. Sie beklagten sich nicht über den Mangel an überladenen Operatoren oder Polymorphie in Visual Basic 6, also blieben sie still.

Die Stimmen, die Microsoft hörte, kamen jedoch von den 4 Prozent der Visual Basic 6 Busfahrer, die tatkräftig Kampfpiloten werden wollten. Diese Jungs nahmen sich die Zeit um Konferenzen zu besuchen, Fragen in CompuServe Forums zu stellen und Leserbriefe zu beantworten. Da sie nicht damit zufrieden waren, nur darüber zu spekulieren, wie man eine Luftrakete auf das Auspuffrohr des Autos schießt, das sie gerade im Verkehr blockiert hatte, verlangten sie von Microsoft, Nachbrenner an ihren Bussen anzubringen, die mit Raketen, Abwehrmaßnahmen und einem Anzeigefeld in Blickrichtung ausgestattet waren. Und Microsoft tat dies.

Aber Visual Basic .NET der Visual Basic 6 Gemeinde zur Verfügung zu stellen war so, als würde man einen Koyoten als Schosshund erziehen und ihn dann in die Wälder jagen und ihm hinterherrufen: "Jage deine Beute so wie es dein Schöpfer beabsichtigt hat, du prächtige, wilde Kreatur!" Die meisten sagten: "Lass mich bloß in Ruhe. Ich bleibe auf meinem schönen warmen Kissen am Ofen liegen, während du mir meinen Futternapf füllst." Und Visual Basic 6 funktionierte einfach weiter.

Visual Basic 6 war natürlich nicht fehlerfrei. OnError gehe zum nächsten? Wenn etwas nicht funktioniert, einfach weitermachen und abwarten, was als nächstes passiert? Wahrscheinlich nicht die beste Idee. Aber eine schnelle (und dafür billigere) Entwicklung von begrenzten (und dafür billigeren) Anwendungen durch niedriger qualifizierte (und dafür billigere) Kräfte bietet eine Lösung für eine Menge von Problemen.

LightSwitch versucht gerade mit unterschiedlichen Artikeln diese Nische zu schließen (siehe bit.ly/n9crJj). Dies kommt aber bestenfalls ein Jahrzehnt zu spät.

Die Dinge, die Visual Basic 6 tat, müssen noch immer getan werden. Bis Microsoft ein neues Tool herausbringt, das alle diese Dinge tut, wird Visual Basic 6 noch intensiv genutzt werden. Ich wette, dass Microsoft seinen Visual Basic 6 Support auch noch für Windows 9 und 10 ausdehnen muss.

David S. Platt unterrichtet Programmieren mit .NET an der Harvard University Extension School und in Unternehmen auf der ganzen Welt. Er ist Autor von 11 Programmierbüchern, darunter “Why Software Sucks” (Addison-Wesley Professional, 2006) and “Introducing Microsoft .NET” (Microsoft Press, 2002). Microsoft ernannte ihn im Jahr 2002 zu einer Softwarelegende. Er überlegt, seiner Tochter zwei Finger abzubinden, damit sie Zählen im Octalsystem lernt. Sie erreichen ihn unter rollthunder.com.