URL dieses Artikels:

zu Ausgabe: 5.2003
Pascal mit und ohne Turbo
Auf den Spuren von Pascal
von Martina Prinz
Zur Anpassung der Programmierung an unterschiedliche Aufgaben wurden in den letzten Jahrzehnten immer wieder neue Programmiersprachen entwickelt, so auch Pascal, Ende der 70er Jahre durch Niklaus Wirth. Nach Erfolgen im universitären Bereich gelang dieser Programmiersprache Anfang der 80er Jahre mit Borlands Turbo Pascal der kommerzielle Durchbruch auf der PC-Plattform. Mit der Windows-Entwicklungsumgebung Delphi und der entsprechenden Weiterentwicklung Kylix für Linux ist Pascal immer noch in den aktuellen Technologien zuhause.

Die beispiellose Erfolgsstory der IT in der zweiten Hälfte des 20. Jahrhunderts begann im Grunde mit der Trennung der Anweisungen und Algorithmen von den elektronischen beziehungsweise elektrischen Schaltungen. Damit entstand Software als selbständige Einheit und erst auf dieser Basis wurde eine flexible Anpassung der Rechen-Geräte an unterschiedliche Aufgaben möglich.
Die Software umfasst die Anweisungen nach denen die Maschinen arbeiten (sollen) und diese müssen, damit sie von den Schaltungen verarbeitet werden können in binärer Form vorliegen. Die Formulierung der Programme in dieser binären Form ist äußerst aufwändig und schwierig, umfangreiche Programme lassen sich auf diese Weise nicht wirtschaftlich erstellen. Aus diesem Grund hat die IT von Anfang an versucht die Programmierung der Rechner nicht direkt vorzunehmen, sondern sie selbst mittels Programmiersprachen zu automatisieren. Diese sind Hilfsmittel, die es den Menschen leichter machen (sollen), ihre Anweisungen so zu formulieren, dass die Maschinen sie verstehen. Als ein vermittelndes Medium stehen Programmiersprachen zwischen Mensch und Maschine, wobei maschinennahe Sprachen wie Assembler sich mehr den Ansprüchen der einen, die höheren oder problemorientierten Programmiersprachen (Sprachen der dritten Generation) mehr denen der anderen Seite entgegen kommen. Es ergibt sich aus der Natur der Sache, dass mehr oder weniger alle Sprachen einige Gemeinsamkeiten aufweisen, wie die Verwendung von Kontrollstrukturen (Abfrage von Bedingungen, die Bildung von Schleifen und Verzweigungen), Variablenbildung, Input/Output-Kontrolle usw. Die Unterschiede ergaben sich aus der Anpassung solcher Strukturen an bestimmte Aufgaben. Die vorerst letzte Stufe dieser Entwicklung bilden die Sprachen der vierten Generation - 4-GL-Tools - dabei handelt es sich aber um Programmiersysteme und -Generatoren, die dem Entwickler die Arbeit des Kodierens abnehmen wollen, also nicht um neue Programmiersprachen im eigentlichen Sinn.

In jeder Form waren Programmiersprachen für die Entwicklung der IT von entscheidender Bedeutung. Den Anfang machte Konrad Zuse, der für seinen legendären Z1 bereits 1947 die Sprache Plankalkül entwickelte - die erste Programmiersprache, der bis heute schätzungsweise 2.300 weitere folgten. Einige wie Basic oder Pascal werden mittlerweile von Millionen Programmieren verwendet. Die meisten Programmiersprachen spielen ihre Rolle als hochspezialisierte Exoten, wie die in den 50er Jahren für schwedische U-Boote entwickelte, natürlich streng geheime und anscheinend nach mit voller Absicht extrem schwierig konzipierte Programmiersprache Kvikkalkul (die Website, die heute Informationen über Kvikkalkul verbreitet, warnt dementsprechend: Der Besitz dieser Informationen in Schweden kann zu einer Geldstrafe führen!) oder eine mit nur acht Befehlen und zwei Operatoren auskommende Mini-Sprache namens Brainfuck - angeblich fühlt man sich hinterher genau so.
Während Computer zunächst die ausschließliche Domäne der Wissenschaft und vor allem des Militärs waren, wurde die EDV in den 60er Jahren nach und nach auch für den Einsatz in der Wirtschaft wichtig. Dafür musste nun in wachsendem Umfang Anwendungsprogramme erstellt werden, was auch neue, auf diese Anforderungen abgestimmte Programmiersprachen erforderlich machte. So trat neben das schon 1954 entwickelte FORTRAN und ALGOL (1958) ab 1960 vor allem die auf kaufmännische Anwendungen ausgerichtete neue Sprache COBOL. Sie bildete in der Folgezeit die Basis für die ersten komplexen Anwendungen in den großen Unternehmen, vor allem in Banken und Versicherungen. Aber erst um das Jahr 1970 hatten beispielsweise alle Banken von manueller auf elektronische Kontoführung umgestellt. Der laufend erweiterte Anwendungsbereich der IT führte auch zu einer Differenzierung der (höheren) Programmiersprachen: Man wollte unterschiedliche Aufgabenstellungen und Anforderungen mit angepassten Werkzeugen schneller lösen.

Softwareentwicklung sah in diesen Zeiten übrigens ein wenig anders aus als heute: Nicht nur, dass sie fast ausschließlich auf Großrechnern erfolgte, das wichtigste Medium beim Programmieren war die Lochkarte und die zentralen Arbeitsgeräte waren Lochkartenstanzer und -leser; entsprechend hoch war der Lärmpegel bei der Softwareentwicklung. Diese stand nicht ohne Grund in dem etwas zweifelhaften Ruf, schwierig, aufwändig, teuer und überhaupt völlig undurchschaubar zu sein; Programmierer hatten eine lange Ausbildung hinter sich bevor sie die teuere Rechenzeit nutzen durften. Damals kam zum ersten Mal der Begriff Software-Krise auf, weil der Hunger der Unternehmen nach Software von den Programmieren mit den verfügbaren Werkzeugen nie gestillt werden konnte.

Pascal mit Niklaus Wirth
Pascal ist in gewisser Weise die direkte Antwort auf diese Situation. Der Pascal-Erfinder Niklaus Wirth, seit 1968 Professor an der ETH in Zürich, hatte sich das Ziel gesetzt, eine systematische, klar strukturierte Programmiersprache zu schaffen. Das in einigen Grundzügen auf ALGOL aufbauende Pascal sollte nicht zuletzt auch didaktischen Anforderungen in der Ausbildung des Programmierer-Nachwuchses entsprechen, dazu gehörte beispielsweise die Einfachheit, leichte Erlernbarkeit, die Unterstützung der strukturierten Programmierung oder die Möglichkeit der Bildung von problemorientierten Datentypen. Zudem mussten die Regeln und Methoden der neuen Sprache so allgemein sein, dass die darin ausgebildeten Studenten ihr Know-how auch für andere Programmiersprachen verwenden konnten.

Pascal war die erste Programmiersprache in die derartige didaktische Überlegungen sowie die Erfahrungen mit anderen höheren Sprachen bewusst aufgenommen wurden. Die neue Konzeption dieser Programmiersprache wurde unterstrichen durch die Namensgebung: Wirth verzichtete auf das damals übliche Akronym und nannte seine neue Sprache nach dem französischen Mathematiker Blaise Pascal (1623 - 1662), einem der Väter der theoretischen Grundlagen der IT.
War Pascal auf Grund seiner Entstehung anfangs noch ein didaktisch orientiertes, theoretisches Konstrukt, also eher ein Thema für Vorlesungen, so folgten bald die ersten Implementierungen für die damaligen Systeme, beispielsweise IBM, Siemens, Univac und DEC. Wirth selbst entwickelte 1972-74 einen leicht portierbaren Pascal-Compiler, der den P-Code, einen rechnerunabhängigen Zwischencode, erzeugte - ein Konzept, das nicht zufällig an ganz aktuelle Technologien erinnert. Eine Weiterentwicklung, das von der University of California San Diego entwickelte UCSD-p-System mit dem in einer speziellen Betriebssystem-Umgebung ablaufenden UCSD-Pascal erzielte Plattformunabhängigkeit sogar auf der Ebene des Binärcodes. Zugleich aber führte der Erfolg von Pascal auch zur Ausbildung einer großen Zahl unterschiedlicher Dialekte, was die praktischen Einsatzmöglichkeiten einschränkte.

Pascal mit Turbo
Ende der 70er Jahre war Pascal im universitären Ausbildungsbereich, nicht nur bei Informatikern, sondern vor allem auch in den Ingenieurstudiengängen, neben FORTRAN zu einem Standard bei den höheren Programmiersprachen geworden. In den Unternehmen dominierten jedoch nach wie vor andere Sprachen, vor allem COBOL. Den nächsten Schub erhielt Pascal als Ende der 70er Jahre vermehrt Klein-Computer zu erschwinglichen Preisen verfügbar wurden, insbesondere aber als sich ab 1981 durch den neuen IBM-PC ein Standard und damit eine ganz neue IT-Plattform durchsetzte. Natürlich war Pascal frühzeitig auch für PCs verfügbar, so gab es zum Beispiel ein Apple-Pascal auf Basis von UCSD-Pascal. Zum endgültigen Durchbruch dieser Programmiersprache führte aber erst Turbo-Pascal von Borland, das eine unübersehbare Zahl von Pascal-Entwicklern und -Anwendungen entstehen ließ.
Turbo Pascal revolutionierte die Software-Entwicklung. Der von Anders Hejlsberg entwickelte und seit 1983 exklusiv von Borland vertriebene Pascal-Compiler verfügte zum einen über eine geradezu revolutionäre Übersetzungsgeschwindigkeit mit über 10.000 Zeilen pro Minute und erzeugte sehr kompakte, schnelle Programme, was vor allem angesichts der damals sehr bescheidenen Möglichkeiten der Hardware und insbesondere der Speicherkapazitäten (vielfach noch Diskette) von größter Bedeutung war. Für den praktischen Umgang mit Turbo Pascal erwies es sich als sehr weitsichtig, dass Hejlsberg seinen Compiler in eine der ersten integrierten Entwicklungsumgebungen gesteckt hatte. Während man früher für Kodieren, Übersetzen und Linken nacheinander drei verschiedene Programme benötigte, lieferte Turbo Pascal alles aus einem Guss, wodurch sich die Arbeit der Programmierung erheblich vereinfachte. Turbo Pascal legte insofern auch den Grundstein für das später zum Allgemeingut gewordene Rapid Application Development (RAD).

Und ein dritter Faktor war für den Erfolg von Turbo Pascal wichtig: Borland bot Turbo Pascal mit einer sehr aggressiven Preispolitik an, anfangs sogar überwiegend im Direktvertrieb. Während man zu Beginn der 80er Jahre für einen FORTRAN-Compiler 1.400,- Mark und mehr bezahlen musste, gab es Turbo Pascal 1983 schon für etwa 200,- Mark. Dabei machte der günstige Preis keinerlei Abstriche an der Leistungsfähigkeit nötig. Zu diesem Preis war Pascal auch für Studenten und für die zahlreichen semi-professionellen Software-Bastler der PC-Welt erschwinglich und gerade die waren auf der PC-Plattform lange Zeit die Seele der Anwendungslandschaft. Ihnen bot Turbo Pascal professionelle Leistung zum Sonderpreis; Raubkopien waren deshalb bei Turbo Pascal nie ein großes Thema.
Auf diesen Faktoren gründete der Siegeszug von Turbo Pascal, das in den folgenden Jahren zu einen der größten Erfolge in der Geschichte der Softwareentwicklung wurde. Schon 1984 waren 150.000 Kopien von Turbo Pascal verkauft und die Verkaufsrekorde der Folgejahre lagen meist im sechsstelligen Bereich. Eine renommierte und lange Jahre dominierende Programmiersprache wie FORTRAN konnte sich nicht zuletzt auf Grund des Erfolgs von Turbo Pascal auf dem PC nie durchsetzen und hat seither auch insgesamt stark an Bedeutung verloren.
Mit Turbo Pascal erledigte sich auch das Problem der Aufspaltung in zahlreiche unterschiedliche Pascal-Dialekte. Nach 1983 gab es fast nur noch Turbo Pascal, das innerhalb von Pascal einen eigenen Industrie-Standard bildete. Vor allem aber konnte mit Turbo Pascal für die immer zahlreicher auch in kommerziellen Umgebungen anzutreffenden PCs eine umfangreiche und leistungsfähige Welt von Softwareanwendungen erstellt werden.

Pascal mit Delphi
Die Erfolgsstory von Turbo Pascal endete erst mit der zunehmenden Verbreitung von Windows als Plattform für Anwendungssoftware. Zwar hat Turbo Pascal als eine der ersten Programmiersprachen 1989 die Objektorientierte Programmierung (OOP) ermöglicht, für die komplexen Anforderungen der Windows-Programmierung war die Kombination C++ und Windows SDK erfolgreicher.

Borland hat Turbo Pascal dementsprechend nicht direkt weiterentwickelt - die Version 7.0 von 1990 wurde als letzte freigegeben - sondern 1993 mit Delphi ein ganz neues Kapitel in der Pascal Geschichte aufgeschlagen. Die wiederum unter maßgeblicher Beteiligung des Turbo Pascal -Erfinders Anders Hejlsberg entstandene integrierte Windows-Entwicklungsumgebung Borland Delphi verwendet Objekt Pascal als Sprachkern, sie ist insofern die logische Weiterentwicklung von Turbo Pascal. Delphi generiert Windows-Applikationen und ist - entsprechend der Turbo Pascal-Tradition - ebenfalls sehr schnell: Der Compiler übersetzt bis zu 120.000 Zeilen pro Minute. Auch die erzeugten Programmdateien sind extrem schnell und zudem sehr kompakt - die kleinste von Delphi erzeugte EXE-Datei ist lediglich etwa 120 KB groß.
Aber Übersetzungsgeschwindigkeit und kompakter Code spielen im Unterschied zur PC-Steinzeit heute nicht mehr die zentrale Rolle. Heute erwartet der Entwickler, dass ihm eine komplette Entwicklungsumgebung Routinearbeiten abnimmt und beispielsweise fertige Schnittstellen zu anderen Systemen zur Verfügung stellt. Damit stellt auch das Kodieren nicht mehr die Hauptaufgabe bei der Software-Entwicklung dar: Design, Analyse oder Testing treten gleichberechtigt dazu. Nur so lassen sich die modernen Anforderungen an die Softwareentwicklung erfüllen: eine wachsende Zahl von mittlerweile sehr komplexen Anwendungen, mit geringeren Kosten in einer kürzeren Zeit fertigzustellen.

Diesem Trend müssen sich alle Programmiersprachen stellen, gleich ob C oder Java, ob COBOL oder Basic. Für Object Pascal bietet Delphi Studio heute in der mittlerweile erreichten Version 7 die entsprechende Entwicklungsumgebung, mit der sich Client/Server- und Webanwendungen, aber auch mobile Lösungen erstellen lassen. Wichtige Industrie-Standards wie XML, SOAP, WSDL und XSL werden ebenso unterstützt wie Microsofts .NET und BizTalk als auch ONE von Sun Microsystems. Mit Kylix 3 ist sogar die Entwicklung von Software für die Linux-Plattform möglich - weiterhin auf Basis des Pascal-Sprachkerns. Heute heißt Pascal Delphi bzw. Kylix, andere Sprachvarianten sind nicht mehr relevant.
Mit Delphi steht Pascal also auch über 30 Jahre nach seinem ersten Auftritt in der vordersten Linie der aktuellen technologischen Entwicklung. Auch das unterstreicht wie groß der Wurf war, der Niklaus Wirth in den 70er Jahren gelungen war.

© 2004 Software & Support Verlag GmbH. Vervielfältigung nur mit Genehmigung des Verlags. Fragen?