- Turbopascal
-
Turbo Pascal ist eine integrierte Entwicklungsumgebung der Firma Borland für die Programmiersprache Pascal.
Inhaltsverzeichnis
Die Anfänge
Der Compiler basierte auf dem Blue Label Pascal Compiler, der von Anders Hejlsberg ursprünglich für das Kassetten-basierte Betriebssystem NasSys des Mikrocomputers Nascom entwickelt wurde. Dieser Compiler wurde zunächst als Compass Pascal Compiler für das Betriebssystem CP/M und dann als Turbo Pascal Compiler für MS-DOS und CP/M weiterentwickelt.
Turbo Pascal 1.0
Die erste Version von Turbo Pascal erschien im November 1983, zu einer Zeit, als das Konzept der integrierten Entwicklungsumgebungen noch recht neu war. Ein Programmierer hatte zu dieser Zeit auf einem IBM-kompatiblen PC im Wesentlichen die Wahl zwischen dem mit DOS mitgelieferten Microsoft BASIC-Interpreter oder einem professionellen und teuren BASIC-, C-, Fortran- oder Pascal-Compiler (UCSD). Die Compiler waren eher umständlich zu benutzen: Mangels Multitasking unter MS-DOS bestand jeder Testlauf aus dem Verlassen, Starten und Neuladen der verschiedenen Tools (Editor, Compiler, Linker, Debugger), die für die Softwareentwicklung notwendig sind. Da die meisten PCs zu dieser Zeit keine Festplatten hatten (eine solche kostete zum damaligen Zeitpunkt 2000 US-Dollar und mehr), musste oft sogar noch mehrmals die Diskette gewechselt werden.
In diese Situation hinein kam Turbo Pascal mit dem IDE-Konzept, das die verschiedenen Tools in einem Programm vereinte. Es war zudem gerade einmal rund 60 KB groß und lief damit auf jedem damaligen PC in hoher Geschwindigkeit. Selbst auf einem PC mit nur einem Diskettenlaufwerk konnte auf Diskettenwechsel verzichtet werden, da auf der Turbo-Pascal-Diskette noch genug Platz für das gerade bearbeitete eigene Programm war. Schließlich war das System preislich selbst für Schüler und Studenten erschwinglich – mit dem Ergebnis, dass es im Laufe der 1980er Jahre auf dem PC zum Quasistandard wurde.
Folgeversionen
Ohne Turbo Pascal hätte die Sprache Pascal sicher das gleiche Schicksal ereilt wie viele an Universitäten vorher und nachher geborene „Kunstsprachen“, z. B. Prolog, Modula-2 oder Oberon (die letzten beiden auch von Niklaus Wirth), die heute praktisch verschwunden sind. Hejlsberg entwickelte die Sprache und das System pragmatisch weiter: Von Anfang an wurde die Laufzeitbibliothek um Routinen ergänzt, die Zugriff auf das System ermöglichten – ganz entgegen dem ursprünglichen Konzept von Wirth. Dabei wurde – anders als z. B. bei der Sprache C – die für Pascal typische strenge Typprüfung etc. beibehalten (beides hat Vor- und Nachteile: Eine strenge Prüfung vermindert die Gefahr ungewollten Fehlverhaltens eines Programms, macht den Quelltext aber meist länger und zwingt dazu, bewusst Funktionen zur Typumwandlung zu nutzen). Je umfangreicher ein Programmpaket wird, desto wichtiger werden solche Funktionen, weshalb auch andere Programmiersprachen z. B. C++ diese Konzepte übernommen haben.
- In Version 3 (September 1986) kam in der MS-DOS-Version Grafik dazu. Dies war die letzte Version, die auch noch für CP/M erschien, allerdings ohne die Grafikmöglichkeiten, da die meisten CP/M-Rechner nicht grafikfähig sind.
- In Version 4 (Dezember 1987) kam das Unit-Konzept dazu, das Bibliotheken und große Projekte ermöglichte. Das Einfügen von Assemblerteilen in den Quelltext wurde mit Inline-Codes unterstützt.
- In Version 5 (Oktober 1988) wurde der Debugger in die Entwicklungsumgebung integriert. Damit wurde es möglich, innerhalb der IDE zu debuggen, Haltepunkte zu setzen und Variablenwerte zu beobachten.
- In Version 5.5 (Mai 1989) kam die Objektorientierung hinzu.
- In Version 6 (November 1990) kam eine objektorientierte GUI-Bibliothek hinzu (Turbo Vision), ähnlich der späteren MFC für Windows; Turbo Vision war für den Textmodus des PCs konzipiert, enthielt aber bereitsSteuerelemente wie Fenster, Befehlsschaltflächen und Bildlaufleisten, die durch Textsymbole dargestellt wurden. Außerdem konnten (auch umfangreichere) Assemblerfunktionen in Intelsyntax direkt im Quelltext realisiert werden. Die Entwicklungsumgebung wurde entsprechend erweitert, so dass auch Assemblerteile im Einzelschrittmodus bei gleichzeitiger Kontrolle aller Flag- und Registerinhalte ausgeführt werden konnten.
- Parallel zu Version 6 kam Turbo Pascal für Windows 1.0 auf den Markt, dessen GUI komplett als Windows-Anwendung ausgelegt war und das in Version 7 (Borland Pascal) übernommen und ausgebaut wurde.
- In Version 7 (Oktober 1992) wurde in der professionellen Variante (Borland Pascal) die Entwicklung von Protected-Mode-Anwendungen innerhalb der IDE möglich – allerdings ohne integrierten Debugger. Im April 1993 folgte noch eine nachgeschobene/fehlerbereinigte Version 7.01; dies war zugleich auch die letzte von Borland veröffentlichte Pascal-Version.
Anfang der 1990er-Jahre wurde Turbo Pascal auf Windows portiert. Dies war allerdings eine Sackgasse. Die Programmierung war unter Turbo Pascal für Windows ähnlich aufwendig wie in C – mit dem zusätzlichen Nachteil, dass Windows selbst in C programmiert ist, weshalb die Schnittstellen zwischen Windows und Pascalprogramm mindestens grundlegende C-Kenntnisse erfordern. Borland adaptierte in der Folgezeit das Rapid-Application-Development-Prinzip, das sich vorher schon bei Visual Basic von Microsoft sehr bewährt hatte: Die grafischen Elemente einer Windows-Anwendung werden mit der Maus zusammengestellt, der zugehörige Code wird automatisch erzeugt. Dieses Produkt wurde Delphi genannt, die zugrundeliegende Sprache ist Object Pascal von Borland.
Ausschnitt der Anweisungen
begin – Beginn eines Anweisungsblockes
uses crt; – Einbinden der Bibliothek CRT(zur Textein- und -ausgabe) in den Suchpfad
var a, b, c: String – Variablendeklaration
Writeln ('Text'); – Ausgabe von "Text"
Readln (text); – Lese Eingabe und speichere diese in die Variable text
ClrScr; – Löscht den Bildschirminhalt. (Benötigt 'uses crt;')
Textcolor (1); – Setzt die Textfarbe 0-15, 16-31 blinkender Text (Benötigt 'uses crt;')
Textbackground (1); – Setzt die Hintergrundfarbe 0-15 (Benötigt 'uses crt;')
GoToXY(X,Y); - Geht zu Textstelle X/Y (Benötigt 'uses crt;')
Sound (x); – Spielt Ton von x Hertz ab
Delay (x); – Programmverzögerung von x ms
Nosound; – Stoppt die Tonausgabe
if a = 'x' then x – Bedingungsanweisung
end; – Ende eines Anweisungsblock
end. – Programmende
writeln(zahl10:2): -Ausgabeformatierung, Ausgabe auf 10 Ziffern und 2 Nachkommastellen von zahlSiehe auch
- Mit Free Pascal und GNU Pascal gibt es zwei Turbo-Pascal-kompatible freie Compiler, die für zahlreiche Betriebssysteme zur Verfügung stehen. Die Entwicklung von Virtual Pascal wurde hingegen eingestellt, obwohl es noch eine große Gemeinschaft gibt.
Weblinks
- Im „Museum“ des Borland Developer Network kann man die Versionen 1.0, 3.02 und 5.5 von Turbo Pascal (nur für MS-DOS) kostenlos und legal herunterladen.
- Die Firma TMT bietet ebenfalls Turbo-Pascal-Klone für 32-Bit-Systeme an, eine abgespeckte Variante ist kostenlos.
- Bei Webplain.de trifft sich die aktivste deutschsprachige Turbo-Pascal-Anhängerschaft.
- Paswiki Wiki über Turbo Pascal.
- Viele weitere Informationen und Ressourcen zu Turbo Pascal finden sich auf der Turbo Pascal Programmers Page.
- Die Geschichte von Turbo Pascal / Delphi
Wikimedia Foundation.