- Turbo Vision
-
Turbo Vision (kurz TVision, unter Insidern TV) ist ein Framework zur Erstellung von Anwendungsprogrammen mit zeichenorientierter Benutzerschnittstelle. Das Framework war von der ersten Version an objektorientiert und ereignisgesteuert, seinen Benutzern bot es zudem tragfähige Konventionen zur Programmstruktur an. Diese reichten vom konfektionierten Programmablauf der Hauptfunktion bis hinab in die Konventionen der Bezeichnerwahl: Von Turbo Vision stammt ein Großteil der Delphi-Konventionen zur Quelltextgestaltung wie das große T, das Typnamen vorangestellt wird, oder kleingeschriebene 2- oder 3-Zeichen-Präfixe vor Enumeratoren.
Inhaltsverzeichnis
Geschichte
Turbo Vision wurde von Borland Inc. zunächst entwickelt, um auf seiner Basis die IDEs für Turbo Pascal und Turbo C für MS-DOS erstellen zu können. Aus damaliger Sicht bedeutend war, dass es stark objektorientiert und ereignisgesteuert war. Der Kontrollfluss ist damit nicht vorrangig anhand der Anweisungen des Hauptprogramms verständlich, sondern erfordert Einblicke in die spezifische Implementierung von Klassen. Grundsätzlich waren Tastatur und Maus gleichermaßen als Eingabegeräte konzipiert, was unter DOS damals keineswegs eine Selbstverständlichkeit war.
Mit Turbo Pascal 6.0 (bzw. Turbo C 2.0) wurde Turbo Vision für die Benutzer der Borland-IDEs zur Entwicklung eigener Anwendungen verfügbar. Hierbei war nicht nur eine kontextsensitive Online-Hilfe inklusive, sondern es wurde auch das Konzept der Anwendungsentwicklung unter Turbo Vision ausführlich und verständlich erklärt.
Nachdem die Anwendungsentwicklung sich zunehmend auf Plattformen ausdehnte, die grundlegende grafische Möglichkeiten zur GUI-Programmierung bereitstellten, ging die Bedeutung textbasierter Systeme zurück. Turbo Vision und ähnliche Frameworks konnten sich lediglich für wenige Systeme mit außerordentlichen Ansprüchen an Rechenleistung halten.
Der Quelltext von Turbo Vision wurde um 1997 zusammen mit den Quellen der C++-IDE durch Borland freigegeben. Seitdem wird das Framework unter BSD-Lizenz für eine Vielzahl von Betriebssystemen weiterentwickelt.
Beim Übergang zur Windows-Entwicklung entwickelte Borland nach ersten Versuchen mit TPW (Turbo Pascal for Windows), das stark an die Konzepte von TV anknüpfte, für Borland Delphi ein neues Framework, die Visual Component Library (VCL), die dank Closures eine wesentliche Schwäche von TV ablegte: Verhalten von Komponenten nahezu ausschließlich durch Ableitung von Basisklassen steuern zu können.
Klassisches Beispiel
Mit den folgenden wenigen Zeilen ließ sich bereits in den 90er Jahren ein Programm erstellen:
program MyTVApp; uses App; var MyApp: TApplication; begin MyApp.Init; MyApp.Run; MyApp.Done; end.
Dieses Programm hatte allerdings keinerlei vom Standard abweichende Eigenheiten zu bieten. Es verfügte über eine Menüleiste mit einer Beenden-Option (Tastenkombination Alt+x) und konnte per Maus gesteuert werden. Das Menü ließ sich über F10 ansteuern. Um tatsächlich eigene Programme zu gestalten, musste man zumindest eine eigene Klasse von TApplication ableiten. So ließ sich z.B. durch Überschreiben der Init-Methode das Menü mit eigenen Funktionen anreichern. In jedem Falle war man bei Turbo Vision gezwungen, eigene Klassen von Standardklassen abzuleiten.
Kritik
Eine wesentliche Stärke von Turbo Vision – seine starke Objektorientierung – ist zugleich auch der begrenzende Faktor. Um einer TV-Anwendung dem konkreten Anwendungsbereich entsprechendes eigenes Verhalten aufzuprägen, war man dazu gezwungen, von Basisklassen zu erben. Sprachmittel wie die Closures von Delphi standen damals noch nicht zur Verfügung. Da Objektorientierung aber relativ neu war, wurde das Ableiten-Müssen als Last und ungewohnt empfunden. Wem das ereignisgesteuerte Konzept nicht einleuchtete, der war oft schnell in endlosen Verzweigungen einer HandleEvent-Methode einer Klasse verloren.
Mit Turbo Vision ließen sich Programme erstellen, die vieles bisher Dagewesene an Eleganz weit übertrafen, aber zum Verständnis der tragenden Konzepte – und gar zur Meisterschaft darin – war es – trotz ausführlicher Dokumentation – ein weiter, steiniger Weg.
Weblinks
Wikimedia Foundation.