# 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.

## 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 in die Public domain 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 1990er Jahren ein Programm erstellen:
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.