Ich muss ein Geständnis machen. Bevor ich ein angesehener Entwickler wurde, der mit modernen Sprachen wie C # und Java (und dem brodelnden Chaos, das wir als JavaScript kennen) arbeitete, war ich ein begeisterter Fan des unglaublich beliebten und ungeschickten
Visual Basic .
Meine Liebe war aufrichtig. Als Kind habe ich gelernt, in BASIC zu programmieren. Aber nicht nur BASIC. Ich begann mit einer erstaunlichen Microsoft-Umgebung namens QuickBASIC auf einem alten DOS-Betriebssystem. Ich erinnere mich noch daran, wie ich weißen Text auf ihren peppigen blauen Hintergrund geschrieben habe.
Für die Programmierung im Jahr 1988 war QuickBASIC eine magische Sache. Es war möglich, Code ohne umständliche Zeilennummern zu schreiben, Syntaxfehler während der Eingabe abzufangen und Programme direkt aus der Entwicklungsumgebung auszuführen, ohne sich um die Befehlszeile kümmern zu müssen. Wenn Sie das Programm beendet haben, können Sie es mit Hilfe dieser Leute mit Ihren Freunden teilen:
Heutzutage ist QuickBASIC nur eine weitere Spielerei aus der fernen Vergangenheit. Obwohl es so ist? Ein innovatives Projekt namens
QB64 erstellte das hochmoderne QuickBASIC-Replikat. Es läuft unter Windows, MacOS und Linux und benötigt keinen Emulator. Wenn das Programm in QB64 gestartet wird, führt die Umgebung einen kniffligen Trick aus: Zuerst übersetzt sie den BASIC-Code in C ++ und kompiliert ihn dann.
Klassisches VB und das visuelle Zeitalter
QuickBASIC war ein beeindruckendes Medium für die fernen Tage textbasierter Computersysteme. Dies änderte sich jedoch, als Microsoft Windows veröffentlichte und PC-Benutzer in die grafische Welt der Schaltflächen und Klicks eintauchte. Gleichzeitig mit der Veröffentlichung von Microsoft Windows 3.0 (der ersten Version, die einen echten Erfolg erzielte) wurde Visual Basic 1.0 veröffentlicht.
Es war etwas völlig Neues. Der Benutzer kann Schaltflächen für Programme erstellen
und diese auf der Oberfläche des Fensters wie auf der Leinwand des Künstlers
zeichnen . Um die Schaltfläche zum Ausführen einer Aktion zu zwingen, genügte es, in der Entwicklungsumgebung darauf zu doppelklicken und den Code zu schreiben. Und der Code wurde nicht in kryptischem C ++ mit vielen Klassen, komplizierter Speicherverwaltung und undurchsichtigen Windows-API-Aufrufen geschrieben. Sie als zivilisierte Person haben Code auf einem freundlich aussehenden VB geschrieben.
Alle diese grafischen Geräte waren beeindruckend, aber das wahre Erfolgsgeheimnis von VB war seine Praktikabilität. Es gab einfach kein anderes Tool, mit dem ein Entwickler eine vollständige Benutzeroberfläche skizzieren und so schnell mit dem Codieren beginnen konnte wie in VB. Und obwohl Historiker gerne über den
visuellen Teil von Visual Basic spekulieren, hatte seine unnachahmliche Fähigkeit nichts mit grafischen Widgets zu tun. VB wurde berühmt durch die legendäre Funktion zum Bearbeiten und Fortfahren, mit der Entwickler Programme ausführen, Fehler finden, beheben und
weiterhin mit neuem Code arbeiten konnten. Dies unterschied sich stark von fast allen anderen der Menschheit bekannten Programmierumgebungen, die die Entwickler dazu zwangen, die Arbeit neu zu kompilieren und nach jeder Änderung erneut zu beginnen.
Das ursprüngliche Visual Basic blühte etwa ein Dutzend Jahre lang. Als freundliche Umgebung für Anfänger hat es sich zu einem Tool entwickelt, das genügend Funktionen für ernsthafte Programmierer bietet. Zum Zeitpunkt der Veröffentlichung von VB 6, der neuesten Version des klassischen Visual Basic, gab es weltweit etwa zehnmal mehr VB-Encoder als in hartem C ++. Und sie haben nicht nur Modelle von Spielzeug-Apps erstellt. Visual Basic hat mit ASP (Active Server Pages), einer weiteren ungeheuer beliebten Technologie, den Weg in Unternehmensbüros und sogar ins Internet gefunden. Dank dessen können Sie Webseiten erstellen, die mit VB-Komponenten kommunizieren, mit Datenbanken kommunizieren und HTML im laufenden Betrieb schreiben können.
All dies geschah praktisch ohne Struktur, es sei denn, Sie haben beschlossen, es selbst zu erstellen. Es war eine ungeschriebene Regel in Visual Basic - sie gab Ihnen Freiheit, die Sie später bereuen werden.
Das Problem der klassischen VB
In vielen Kreisen hatte der klassische VB einen schlechten Ruf. OOP-Fanatiker beklagten sich häufig darüber, dass VB keine Vererbungsunterstützung habe. (Dies war eine seltsame Beschwerde, da Vererbung für unerfahrene Entwickler oft eine großartige Möglichkeit ist, sich in den Fuß zu schießen - dies ist
nicht das, was VB benötigt.) Tatsächlich neigte der klassische VB nicht zur Objektorientierung. Gegen Ende seines Lebens unterstützte er bereits Schnittstellen, Polymorphismus und Klassenbibliotheken. All dies wurde von COM ausgeliehen - dem grundlegenden Teil der Komponententechnologie, der in jeder Windows-Version „geflasht“ wurde.
Das eigentliche Problem mit klassischem VB war, dass es
zu erfolgreich war. Er reduzierte die Barrieren für neue Programmierer so effektiv, dass fast jeder daran arbeiten konnte. Sorglose Anfänger, müde Mitarbeiter und Studenten des Unternehmens lösten Probleme, die auf jeder anderen Plattform viel komplexer gewesen wären, und hängten überall Spaghetti-Code auf.
Mit anderen Worten, da VB einfach zu bedienen war, auch wenn Sie nicht als Programmierer studiert haben, wurde es von vielen Menschen verwendet,
die nicht gelernt haben, Programmierer zu sein. Und VB hat nichts unternommen, um die Verwurzelung ihrer schlechten Gewohnheiten zu verhindern.
VB.Fred und die .NET-Plattform
Schneller Vorlauf im Jahr 2002: Microsoft setzt sich für das ein, was Microsoft am besten kann - es zerstört sein eigenes Ökosystem von Entwicklern, indem es eine völlig neue Arbeitsweise einführt.
Dieses Mal war das Projekt eine wesentliche Änderung in der Architektur von COM, einer Komponententechnologie, die Windows (und indirekt klassisches VB) unterstützt. Es war ein All-in-Satz für ein Megalith-Unternehmen, das bereits mehrmals so riskante Änderungen vorgenommen hatte.
Microsoft nannte diesen "Neustart" die .NET-Plattform aus vielen zweifelhaften Gründen, unter anderem, weil die Internet-Technologie zu dieser Zeit immer noch frisch und aufregend war und weil .NET die Webdienst-Funktion von Microsoft enthielt fest entschlossen zu fördern. Das Produkt wurde unter dem starken Einfluss von Java entwickelt und verfügte über eine breite Palette von Tools für die Kommunikation mit Datenbanken, das Erstellen von Websites, das Schreiben von Multithread-Programmen und das Herstellen von Verbindungen über Sockets - für fast alle Anwendungen, die sich Geschäftsentwickler vorstellen können.
Das einzige Problem war, dass Microsoft fast alle klassischen VB loswerden musste, um all diese Funktionen zu implementieren.
Wenn Sie stark schielen, sah die neue Version namens VB.NET fast gleich aus. Aber viele große und kleine revolutionäre Veränderungen zeigten sich darin. Groß: Alte VB-Programme blieben in der Welt der alten Programme gefangen, und der überraschend schwache Migrationsassistent konnte dies kaum beheben. Klein: Klassische VB-Programmierer mussten sich an eine neue Art des Zählens von Array-Elementen gewöhnen. Sie konnten nicht mehr wie normale Leute bei 1 anfangen. Jetzt mussten sie wie offizielle Programmierer bei 0 beginnen.
Eine weitere wichtige Änderung: Keine Funktion zum Bearbeiten und Fortfahren mehr.
Entwickler beschweren sich gerne, und VB-Entwickler sind dafür besonders bekannt. Fast sofort nannte eine Gruppe einflussreicher VB-Entwickler die neue Programmierumgebung von Microsoft VB.Fred, um die Tatsache hervorzuheben, dass diese neue Sprache nicht Visual Basic ist.
Was Visual Basic zum Tode verurteilt hat
Sie können davon ausgehen, dass .NET-Änderungen Risse in der VB-Stiftung verursacht und zu einem unvermeidlichen Rückgang geführt haben. Aber alles war anders. Trotz der Tatsache, dass VB.NET eine neue Richtung eingeschlagen und kritische Änderungen vorgenommen hat, was es zu einem „verwaisten“, absolut guten Code für klassisches VB macht, hat es immense Popularität erlangt. Dies geschah aufgrund der Tatsache, dass VB.NET etwas gab, was Entwickler auf dem klassischen VB vorher nicht erreichen konnten - Respekt.
In der .NET-Welt haben die Sprachen VB und C # das gleiche Gewicht. Jede Codezeile in VB kann in eine äquivalente Codezeile in C # übersetzt werden und umgekehrt. Beide Sprachen haben dieselben Funktionen, verwenden dieselben Komponenten und kompilieren in genau derselben Form (in eine sogenannte
Zwischensprache ). VB hat sich endlich von seinem hässlichen Entlein-Syndrom befreit.
Die Umwandlung in eine andere seriöse Programmiersprache hat jedoch zu einem Problem geführt. Die Begeisterung, die VB zur Lieblingssprache einer so großen Gruppe von Menschen gemacht hat, ist verschwunden. Nicht weil sich VB geändert hat, sondern weil sich C # geändert hat.
Sobald VB die gleiche Leistung wie C # erhielt, übernahm C # auch den Komfort von Visual Basic. Das Vorhandensein von Typensicherheitsfunktionen und die .NET-Speicherverwaltung führten beispielsweise dazu, dass sich C # -Entwickler nicht mehr wie VB-Entwickler um Speicherlecks kümmern mussten.
Mit anderen Worten, C # verfügt jetzt über ein „Sicherheitsnetz“, das Amateure, Studenten und Anfänger schützt und seine Leistung nicht schwächt. Plötzlich hörte VB auf, etwas Besonderes zu sein. Es ist nur ein weiteres Werkzeug von einer Reihe erfahrener Programmierer geworden.
Aktueller Status von Visual Basic
Heute befindet sich Visual Basic in einem seltsamen Zustand. Unter professionellen Entwicklern nimmt es ungefähr 0% der Aufmerksamkeit ein - VB erscheint nicht einmal in
Umfragen unter professionellen Entwicklern oder in
den GitHub-Repositories . Er lebt jedoch noch - er verwaltet Office-Makros, alte Access-Datenbanken und alte ASP-Webseiten und zieht auch Neulinge nach .NET. Der TIOBE-Index, der die Beliebtheit von Sprachen anhand von Suchergebnissen misst, führt VB weiterhin in die Liste der
fünf am häufigsten diskutierten Sprachen ein.
Aber es scheint, dass die Trägheit der Sprachentwicklung in letzter Zeit ein Ende hat. Im Jahr 2017 kündigte
Microsoft an , C # neue Sprachfunktionen hinzuzufügen, die möglicherweise nicht in Visual Basic angezeigt werden. Diese Änderung gibt VB nicht den Status eines hässlichen Entlein zurück, beeinträchtigt jedoch seinen Status als Teil von .NET.
Ehrlich gesagt begann die Tendenz, VB an die Seitenlinie zu drängen, vor einigen Jahren. Seriöse Entwickler wissen, dass die wichtigsten Teile von .NET in C # geschrieben sind. Sie wissen, dass C # die bevorzugte Sprache für Präsentationen, Bücher, Kurse und Workshops ist. Wenn Sie VB sprechen möchten, schadet dies den von Ihnen erstellten Anwendungen nicht, kann jedoch die Fähigkeit zur Kommunikation mit anderen Entwicklern einschränken.
Eine der Nischen, in denen sich Visual Basic natürlich anfühlen sollte, ist der Bildungsmarkt. Aber auch dort bleibt er ein schwarzes Schaf. Moderne Sprachen wie C # und Python sind einfach und sicher genug, um als erste zu lernende Sprache ausgewählt zu werden. Wenn Sie etwas Einfacheres für Kinder brauchen, dann ist der Markt mit grafischen Programmierwerkzeugen wie Scratch gefüllt. Attraktiv sind auch die geschweiften Sprachen: C #, C, JavaScript und Java. Sie haben eine ähnliche Syntax, und eine Person, die einen von ihnen gelernt hat, wird sich mit dem anderen sicher fühlen.
Im Bereich der Webentwicklung untersucht Microsoft die Leere verpasster Möglichkeiten. Wer würde sich nicht von einer Version von VB verführen lassen, die so einfach zu bedienen ist wie VB 6, aber auch in JavaScript kompiliert und mit einem HTML-Formulardesigner kombiniert werden kann? Ja, Sie werden in einem solchen Tool kein neues Google Maps erstellen, aber es könnte die Attraktivität von Visual Basic wiederbeleben, indem es Geschäftsentwicklern, Studenten und Amateuren ermöglicht, einfache Online-Anwendungen ohne umständliches JavaScript zu erstellen. Stattdessen hat Microsoft ein VB-basiertes Produkt namens
LightSwitch erstellt , das mit dem Tod des Silverlight-Browser-Plugins verschwand. Wenn Microsoft damit beginnt, ein weiteres Produkt der Klasse "Codierung für die Massen" zu erstellen, handelt es sich höchstwahrscheinlich um ein vorlagengesteuertes Tool mit ein wenig Code wie
PowerApps .
Visual Basic war verschiedenen Gefahren ausgesetzt. Aber diesmal scheint alles anders zu sein. Es scheint, dass die Sonne tatsächlich für eine der beliebtesten Programmiersprachen der Welt untergeht. Wenn dies zutrifft, wird Visual Basic über Jahrzehnte nicht ausgeblendet. Es wird ein weiteres Legacy-Produkt, ein unterschätztes Tool ohne die Liebe der Benutzer und der Zukunft. Ob wir etwas Besonderes verloren haben oder einfach die gequälte Technologie vor der Qual gerettet haben, liegt bei Ihnen.