Über Petitionen und Fortschritt

Kürzlich wurde eine Petition im Netz veröffentlicht, in der es darum geht, daß Microsoft Visual Basic 6 weiterentwickelt, unabhängig von .NET. unterzeichnet wurde das Ganze inzwischen von über 4000 VB-Usern, darunter 200+ MVPs.

Wieso sollte ein veraltetes Programmiersystem weiterentwickelt werden? Ja, natürlich gibt es sehr viel Sourcecode, der in VB vor der .NET-Ära geschrieben wurde. Ja, die Migration nach .NET mit dem Assistenten erzeugt in den seltensten Fällen sofort lauffähigen Code (Ist das nicht auch eine Chance, die Architektur der eigenen Anwendung auf den neuesten Stand zu bringen?). Aber wollen wir deshalb eine neue Version von VB.COM? Ich denke, nicht.

Das Konzept von VB6 war ausgereizt. Ein paar Features mehr in einem neuen Release bringen keine neue Qualität. Und die war dringend notwendig. Die Konzentration auf ein gemeinsames Framework, eine gemeinsame Klassenbibliothek, um Generationen besseres Error- äh.. Exception Handling, das Compiler-Konzept mit offenen Schnittstellen für 3rd Party Compiler, und und und lassen die Mängel von VB6 schnell vergessen.

Ein oft gehörtes Argument ist: "Da muß ich ja jetzt objektorientiert programmieren ...". VB war die Sprache, mit der man schnell zum Ziel kommen sollte. VB machte RAD (Rapid Application Development) erst richtig wahr. Und VB war auch die Spache von Technikern, von Quereinsteigern, die damit Ihre Probleme lösen konnten, ohne Informatiker zu sein.

Ist VB.NET dies nicht mehr? Ich denke, schon. Jetzt erst recht. Natürlich muß man erst mal mit dem Aufbau der Klassenbibliothek zurechtkommen. Aber die Investition lohnt sich. Und der Umgang mit Objekten ist ja nun wirklich nichts Neues. COM kannte schließlich auch Objekte. Muß denn nun deswegen jeder gleich objektorientiert programmieren? Nein! Vererbung, Polymorphie und ähnliches muß man nicht benutzen. Und daß die Operationen über eine Variable gleich an dieser dranhängen, ist doch viel praktischer als die richtige in einem Haufen loser OPs zu suchen, oder? Ehrlich, man kann immer noch Spaghetticode mit VB.NET schreiben, wenn es auch etwas schwieriger wird. Und die Syntax einer Sprache ist eigentlich relativ unbedeutend. Die hat man i.d.R. schnell gelernt. Wobei VB.NET immer noch VB ist, das möchte ich betonen. Okay, es wurde Fehler gemacht (Edit & Continiue zum Beispiel), aber wir lernen daraus. Warum ist denn C# so cool? Weil es keine Vorgeschichte hat. VB dagegen ist gewachsen und qualitative Sprünge hat es immer gegeben. Denken wir an den Übergang zur 32-Bit-Programmierung, von VBX zu OCX.

Damit VB.NET noch mehr VB wird, hat Microsoft im kommenden Release Funktionalität wie das My-Object eingebaut, mit dem man schnell auf relevante Klassen im Framework zugreifen kann. My.Computer.Network bietet bspw. eine Funktion IsAvailable. Die prüft. ob eben mal ein Netzwerk verfügbar ist. eine Zeile Code. Hat das mal jemand auf herkömmliche Art und Weise programmiert? WMI war die Antwort, aber einfach war das nicht. Edit & Continiue ist ebenfalls wieder zurück. Oder wie oft ist jemand an die Grenzen von VB.COM gestoßen? Dann half es, wenn man sich mit Win32 APIs auskannte. Doch was tun, wenn die Funktion mit Pointern arbeitet? Oder 64 Bit Integers? Manchmal gab es Hilfe aus der C/C++ Ecke. Aber mal ehrlich, wieviele VB-Programmierer können C? Auch COM als Technologie ist nicht mehr up-to-date, die Zeiten ändern sich.

Außerdem ist es ja nicht so, daß VB6 nun aufhört zu existieren. Somit können bestehende Projekte weitergepflegt werden. 

Ist die Petition vieleicht nur Schutz von geistigen Investitionen? Vielleicht, aber was spricht gegen das Lernen von Neuem? Ludwig Feuerbach hat einmal gesagt: "Mit dem Lernen ist es wie mit dem Rudern gegen den Strom - wer aufhört, der treibt zurück". Und genauso ist es in der sehr schnellebigen IT-Branche. Sehen wir es so: Nichts lebt ewig. .NET bietet uns viele neue Möglichkeiten. Nutzen wir sie. Schließlich verdienen wir unser Geld damit.