40 Jahre Turbo Pascal
(blog.marcocantu.com)- Turbo Pascal, von Borland im November 1983 vorgestellt, wurde im November 2023 offiziell 40 Jahre alt
- Turbo Pascal gilt als das Produkt, mit dem Borland seinen Anfang nahm, und als die erste branchenweit verbreitete integrierte Entwicklungsumgebung (IDE)
- Damals hinterließ es in puncto Entwicklererlebnis und Produktreife einen starken Eindruck und wurde zu einem großen kommerziellen Erfolg
- Embarcadero entwickelt die Nachfolge-Compiler-Reihe weiter; der Win32-Kommandozeilen-Compiler von Delphi 12 Athens verwendet Version 36.0
- Da das heutige Versionsnummernsystem bis zum ersten Turbo Pascal zurückreicht, ist dieses 40-jährige Jubiläum auch direkt mit der Geschichte der Delphi-Linie verbunden
Turbo Pascal, gestartet im November 1983
- Turbo Pascal ist ein Produkt, das Borland im November 1983 veröffentlichte
- Stand November 2023 wurde es offiziell 40 Jahre alt
Borlands Platz in der Geschichte der IDEs
- Turbo Pascal gilt als Meilensteinprodukt der Branche
- Es war das Produkt, mit dem die Firma Borland ihren Anfang nahm
- Es wird als die erste weithin bekannte IDE bezeichnet
- Für damalige Maßstäbe war es ein herausragendes Produkt, und auch das Ausmaß seines Erfolgs war sehr groß
Weiterführende Lektüre und Pascal-Kontext
- Mehr zu Turbo Pascal findet sich in David Is aktuellem Blogbeitrag und auf Wikipedia
- Als Pascal-bezogene Materialien werden außerdem ein Blogbeitrag zu 50 Jahren Pascal und der Vortrag beim ersten Pascal World Congress in Salamanca genannt
Nachfolge-Compiler bis hin zu Embarcadero
- Embarcadero entwickelt die Nachfolge-Compiler-Reihe von Turbo Pascal weiter
- Kürzlich wurde Version 36 dieses Compilers veröffentlicht
- Der Kommandozeilen-Compiler von Delphi 12 Athens trägt die Versionsangabe
Embarcadero Delphi for Win32 compiler version 36.0 - Diese Versionsnummer 36 gehört zu einem Nummernsystem, das bis zum ersten Turbo Pascal zurückreicht
Easter Egg zum 40. Jubiläum
- Embarcadero widmete anlässlich dieses 40-jährigen Jubiläums ein Easter Egg im Produkt dem Turbo-Pascal-Jubiläum
- Die Botschaft endet mit „Happy 40th birthday, Turbo Pascal!“
1 Kommentare
Meinungen auf Hacker News
Eines meiner Lieblings-Computerspiele war ZZT, geschrieben in Turbo Pascal. Ein skurriles Textmodus-Spiel von Tim Sweeney von Epic Megagames, das Rätsel und Shooter-Elemente mischte; selbst die kostenlose Shareware-Version enthielt einen Spiele-Editor und sogar eine kleine Programmiersprache namens ZZT-OOP.
Der ursprüngliche Quellcode von ZZT ging verloren, aber einige Jahre später hat Adrian Siekierka den ursprünglichen Pascal-Code mit großer Hartnäckigkeit rückentwickelt, sodass beim Kompilieren mit der ursprünglichen Turbo-Pascal-Version eine bytegenau identische ausführbare Datei herauskam. Erstaunlich.
https://blog.asie.pl/2020/08/reconstructing-zzt/
https://news.ycombinator.com/item?id=22609474
https://benhoyt.com/writings/zzt-in-go/
Turbo Pascal hat mich zur Programmierung gebracht. Ich erinnere mich, wie ich Hunderte D-Mark für Lizenzen von Borland Pascal 7.0 und später Delphi 1.0 und 2.0 ausgegeben habe, und am Ende entwickelte ich sogar meine erste „kommerzielle“ Software, die ich gegen Geld verkaufte.
In der DOS-Ära war Turbo Pascal, abgesehen von Basic, vermutlich der einfachste Einstieg in die Programmierung; und unter Windows 3.1/95 war Delphi ein augenöffnendes Werkzeug, das zeigte, wie einfach GUI-Programmierung sein konnte.
In vielerlei Hinsicht fühlt es sich an, als wären wir seitdem eher zurückgegangen. Die Turbo-Pascal-/Delphi-Compiler erzeugten vollständige GUI-Programme als kleine Binärdateien; ich frage mich, wie heutige Software mit vergleichbarer Leistung um mehrere Größenordnungen größer werden konnte.
Wenn die Ursache ein Tippfehler war, konnte man ihn korrigieren, neu kompilieren und ausführen — alles in einer Sekunde. Viele heutige Tools folgen einer anderen Philosophie und verlangen Entwicklern unnötige zusätzliche Aktionen ab.
Die Ausnahme ist SAP, das es irgendwie geschafft zu haben scheint, die Benutzerfeindlichkeit einer 90er-Jahre-UI mit dem Ressourcenverbrauch moderner Programme zu verbinden. Auch bei mir war Turbo Pascal die Sprache, die ich nach BASIC verwendet habe.
Was mir an TP am meisten in Erinnerung geblieben ist: Zu jeder Funktion gab es einfache, leicht verständliche Codebeispiele, und alles war logisch organisiert, sodass man es leicht finden und verwenden konnte. Deshalb konnte ich mir als Teenager, der gerade einmal BASIC verstand, Turbo Pascal ohne Internet allein mit der IDE selbst beibringen.
Bei heutigen Systemen gibt es viel zu oft nicht einmal etwas, das dem nahekommt. Ich frage mich, ob das an der damals schlichten Natur x86-DOS-basierter Systeme lag oder ob es wegen des heutigen schnellen Wandels, der Cross-Platform-Anforderungen und der Komplexität unmöglich geworden ist, so etwas zu bauen.
Ich möchte hinzufügen, dass Processing damals das einzige Creative-Coding-Framework mit vollständiger Offline-Dokumentation war. OpenFrameworks zum Beispiel ist auch heute noch größtenteils eher eine automatisch erzeugte, leere Hülle von Dokumentation.
Meiner Meinung nach war das einer der Faktoren, die Processing im Bildungsbereich einen Vorteil gegenüber Alternativen verschafften. Es war ziemlich schade, dass p5.js diese Tradition nicht vollständig fortgeführt hat, man zum Lesen der Dokumentation online gehen muss und sie nicht als statische Website vorliegt, sondern der Text beim Öffnen per JavaScript gerendert wird. Trotzdem ist die Dokumentation selbst, einschließlich der Beispiele, vollständig.
https://processing.org/
https://p5js.org/
Das war einige Jahre, bevor ich an der Universität das Internet kennenlernte, also gab es keinen einfachen Zugang zu Lernmaterial. Davor hatte ich ein paarmal versucht, C zu lernen, aber es hatte nicht richtig geklappt. Erst nachdem ich TP gelernt hatte, konnte ich das in Pascal Gelernte auf C übertragen, und auch dabei half mir ein weiteres hervorragendes Borland-Produkt: C++ Builder.
Meine erste „richtige“ Programmiersprache nach 6809E-Assembler, strukturierten BASIC-Dialekten und Batch/Shell Ende der 80er war Turbo Pascal. Als ich Anfang der 90er Informatik studierte, wurde auch der Erstsemesterkurs mit Borland Pascal unterrichtet, daher war diese Erfahrung ziemlich nützlich.
Ein paar Jahre später führte mein Pascal-Hintergrund dazu, dass ich etwa fünf Jahre lang kundenspezifische Apps mit Delphi entwickelte, und anschließend dazu, dass ich bei Borland die IDEs von Kylix und C++Builder testete. Das waren gute Zeiten.
Ich vermisse Delphi immer noch. Heute gilt es fast als schwerwiegender Mangel, wenn es keine IDE-Plugins gibt, aber damals wirkte die Idee einer Komponentenbibliothek und Coding-Umgebung, die sich leicht in der eigenen Sprache erweitern ließ, wie pure Magie. Es machte wirklich Spaß, mit VCL und der IDE selbst zu arbeiten.
Schade, dass Borland den Enterprise-Markt verfolgte, die Grassroots-Entwickler hinter sich ließ und das Wachstum der Community-Akzeptanz praktisch abwürgte. Zumindest bis ungefähr Delphi 7 war es wirklich ein großartiges Paket.
Zum ersten Mal begegnete ich TP im Winter 1993, als ich es mit 14 von einem Warez-BBS raubkopierte. Im Unterschied dazu, einfach eine .BAS-Datei auszuführen, war das rohe Gefühl von Macht, als ich selbst eine EXE kompilierte, berauschend.
Ich fing an, Renegade BBS umzubauen und Door-Programme zu schreiben, und versuchte mich — erfolglos — auch daran, Würmer, Trojaner und Viren zu bauen. Diese Erfahrung hat mein Leben verändert und den Weg geebnet, auf dem ich heute im Tech-Bereich bin. Außerdem habe ich meine abweichlerischen Teenager-Neigungen inzwischen abgelegt. Borland schulde ich viel.
Ein paar Jahre später, mit 16, entwickelte ich eine kleine App für die Kundenverwaltung meines Vaters und bekam dafür tatsächlich Geld; von einem Teil davon kaufte ich mir eine legale TP6-Version. Das waren gute Zeiten.
Free Pascal hat immer noch einen Modus, der der ursprünglichen TP-IDE ähnelt. Allerdings räumen sie selbst ein, dass der Code vor sich hin altert und immer noch stark von den veralteten Eigenheiten der ursprünglichen MS-DOS-Plattform abhängt.
Schade ist, dass es keine ähnliche Version gibt, die sich wie neovim oder emacs im Terminal als normaler Editor nutzen lässt und zugleich in moderne IDE-orientierte Funktionen wie LSP, tree-sitter-Parser und das Debug Adapter Protocol integriert ist. Beim Bearbeiten von Remote-Code über SSH-/Terminal-Verbindungen könnte das durchaus etwas verändern.
Wie viel schneller Turbo Pascal als die Konkurrenz war, lässt sich kaum übertreiben. Es war so schnell, dass man fast dachte, da müsse irgendein Trick dahinterstecken, und die erzeugten Programme waren ebenfalls schneller.
Für die damalige Zeit war es ein Meisterwerk, und das Lob, das es erhielt, war völlig verdient.
So lernte ich, dass ein ausgereifter Compiler besser ist als ein Compiler in Version 1.0.
Ich erinnere mich, vor ein paar Jahren auf einem Windows-PC mit 512 MB RAM eine FPC-Version der 2.0er-Reihe gebaut zu haben, und es dauerte nicht einmal fünf Minuten.
https://www.tmssoftware.com/site/blogold.asp?post=759
Als ich klein war, verkaufte mir ein freundlicher Computerladenbesitzer zu guten Konditionen einen PC-Halbkompatiblen, auf dem MS-DOS 1.25 lief. Es entsprach ungefähr dem Gegenwert von hundertmal Rasenmähen und Babysitten.
Der Besitzer verkaufte Turbo Pascal für allgemeines MS-DOS, also die Version, die kein PC-BIOS voraussetzte, auf 8-Zoll-Disketten, und übertrug es auf das 160-KB-5,25-Zoll-Format, das mein Halbkompatibler nutzte. Ich hoffe, ich war damals schon so dankbar, wie ich es heute empfinde. Das hat meine Karriere ins Rollen gebracht.
Anfang der 80er nutzte ich auf dem Apple ][+ und //e Apple Pascal, also eine Umgebung auf Basis von UCSC p-system Pascal, und wechselte dann zu Turbo Pascal unter DOS. Turbo Pascal war wirklich aufregend. Ein sehr schneller Compiler, gutes Feedback, ein Editor mit Farben und die bereits vertrauten WordStar-Keybindings sorgten für eine großartige Erfahrung.
Ich erinnere mich auch daran, dass die Programme irgendwann groß genug wurden, dass man die Overlay-Funktion verwenden musste. Damit konnte man unter DOS verschiedene Teile eines Programms im Grunde wie Seiten nachladen.
Irgendwann in den 80ern, vermutlich eher gegen Ende, traf ich auch David Intersimone, der ein großartiger Botschafter für Borland war. Das war, als er auf Einladung des lokalen ACM-Chapters unserer Universität zu Besuch kam.
Seltsamerweise war Turbo Pascal die erste höhere Programmiersprache, die ich gelernt habe, und die Umgebung war ein Macintosh Plus. Erst später merkte ich, dass Turbo Pascal eher aus der PC-Welt kam.
Während des Studiums kaufte ich mir mit einem Studienkredit meinen ersten Apple-Computer, einen Macintosh Plus, und stieß zufällig in den Kleinanzeigen der Uni-Zeitung auf eine Kopie von Turbo Pascal für den Mac. Ein Professor verkaufte sie für etwa 40 Dollar, also griff ich sofort zu.
Zum Glück gab es ein Handbuch, aber die Macintosh-Entwicklungstools waren sehr simpel. Es gab kein ResEdit, sondern eine merkwürdige R-Maker-App, bei der man Macintosh-Ressourcen als Textdatei erstellen und dann durch ein Tool schicken musste, um den Resource Fork zu erzeugen.
Einige meiner ersten Apps waren Implementierungen von Algorithmen aus der Computer-Recreations-Kolumne von Scientific American in Turbo Pascal. Zum Glück brauchten sie kaum UI, meist reichte ein Fenster und ein paar Buttons.
Später entdeckte ich THINK Pascal, eine deutlich stärker auf den Mac ausgerichtete IDE, und wechselte dorthin; noch später stürzte ich mich dann auf THINK C.
Trotzdem wird Turbo Pascal mir immer in liebevoller Erinnerung bleiben. In einer Zeit, in der ich eine raue, neue Welt betrat, hat mir Turbo Pascal gewissermaßen die Tür geöffnet.