November marked the 40th anniversary of Turbo Pascal, the first Integrated Development Environment (or IDE), which allowed a user to quickly and easily write a program in the Pascal programming language and see it compiled and linked — all in one go — with an executable dropped to disk at the end. Much simpler a process than the traditional model of programming in a text editor, using a compiler to convert the source into object code (often over several passes), and running a linker to integrate any required libraries, Turbo Pascal was friendly, fast, and cheap. Created by Anders Hejlsberg, the development package was released by Borland in November 1983 at a price of $49.99 for both CP/M and DOS-based systems.
Created by Niklaus Wirth in 1970, Pascal is a small and efficient procedural programming language that is easy to use and, thanks to its structured programming nature, was often employed as a language for learning programming concepts at a level higher than traditional, early BASIC. It is in this capacity that I had my first hands-on experiences with the language in an A.P. Computer Science class I took in high school during the late ’80s. Here, at its 40th anniversary, I thought I would share the memories I have of spending time with Turbo Pascal.
Having joined the ranks of the home computing on Christmas morning in 1982 and become instantly swept up in all of it, I quickly learned BASIC (in the backroom of a Singer sewing machine store down at the mall, which is a story on its own) and was poring over computer books and magazines constantly. So, I had heard of Pascal. In fact, Texas Instruments offered a UCSD Pascal p-System for my beloved TI-99/4A, which allowed the system to access a large library of Pascal programs out there via their P-Code card which provided a virtual machine for running these platform-agnostic programs, though I never owned that hardware.
Flash forward to my junior year of high school when I took the aforementioned A.P. Computer Science class, taught by the late Col. Ken Jenkins, at Hampton Roads Academy in Newport News, Virginia. At the time, the school had a computer lab full of Apple IIe computers used for teaching BASIC programming and for typing classes. For the APCS class, four or five DOS PCs were setup along the back wall, featuring lovely, amber MDA displays (pictured). These were the systems our small APCS class (I think there were only about five or six of us) used for Pascal classwork, which was done in Turbo Pascal v4 for DOS. (In retrospect, they should also have dropped Z-80 cards in a few of those Apple IIes — the CP/M version of Borland’s IDE ran well in that environment.) The class was a lot of fun and it was great getting my first taste of procedural programming. (And there was a particularly memorable anecdote about a lesson on the unary minus, I recall — but that’s a story for another time.)
I was so enamored by procedural programming and the ease of putting together little projects that could be written, compiled, and tested so easily that I sold my Atari Mega ST2 system and replaced it with a DOS machine, a Tandy 1000TL, in order to be able to use Turbo Pascal at home and to my heart’s content. That’s a fun time to think back on, writing little widget programs doing nothing of consequence just for fun and uploading them to local BBSs.
A couple of years later I had moved on to an Amiga 2000 and was attending college at Christopher Newport University pursuing a Computer Science degree. One of the first programming classes I found myself in used a Pascal compiler running on a PR1ME minicomputer that students dialed into on a 7-bit connection, using Kermit to transfer files, as I recall. Wanting to be able to work on my Pascal programs locally rather than waiting for the mini’s modem pool to be free, I purchased the Macintosh version of Turbo Pascal in hopes of running it on the A-Max Mac emulator I had for my Amiga. It ended up working rather well for me, though the short-lived Mac version was limited in some ways.
Given the circuitous route I took to get my beloved Turbo Pascal running on the Amiga, doubtless you have concluded that there was no Amiga version of the package. And, you’re right — however, it is a little known fact that at some point Borland planned an Amiga version of Turbo Pascal and even ran a particularly enthusiastic advertisement for it in the premier issue of AmigaWorld magazine back in 1985. Sadly, though, this release never materialized.
Later, I moved on to Turbo C++ for my college coursework (which I ran under the PC-Task PC emulator on my Amiga 1200HD at the time) and, later still, did some of my first professional programming for a local NASA Langley aerospace contractor using the more full-featured Borland C++ package to control a software-driven serial port switcher for a realtime general aviation pilot weather advisor system.
It’s been a long time since I wrote a line of Pascal, perhaps sadly. But, that’s not to say others aren’t doing so, daily. And, I’m not just referring to likeminded retro computing aficionados enjoying Turbo Pascal on their vintage systems. Borland’s Turbo Pascal has evolved into the rapid application development (RAD) environment Delphi, which uses the Object Pascal language. Embarcadero’s Delphi is a modern RAD that deploys native applications to all major desktop and mobile operating systems from a single code-base. It’s worth mentioning that another popular option for Pascal programmers is Free Pascal, which features a text-mode IDE similar to that of Turbo Pascal and supports a graphical IDE similar to that of Delphi. It compiles and deploys to a dizzying array of both modern and not-so-modern targets.
So, Turbo Pascal lives on in spirit, and these are my experiences with it. I hope you’ve enjoyed my little stroll down memory lane, here as the product turns forty. (There’s a programming pun in there, somewhere…)
UPDATE 01/03/2024: It seemed appropriate to return to this post, less than a month after its publication, to mention that on the first of January, creator of the Pascal programming language and software engineering pioneer, Niklaus Wirth, passed away at the age of 89.
Related and informative links:
- Turbo Pascal turns 40 [ Marco Tech Blog ]
- 50 Years of Pascal and Delphi is In Power [ Marco Tech Blog ]
- I first met Philippe Kahn and Turbo Pascal 40 years ago this month [ Embarcadero ]
- 40 years of Turbo Pascal, the coding dinosaur that revolutionized IDEs [ Register]
Great story. I have a very similar progression through machines, BASIC, Turbo, etc. I have a pretty large collection now of restored retro boxes (mostly DOS and UNIX) and all the DOS boxes get Turbo installed. I also have a Kaypro and an Osborne. Have not been able to get Turbo to work on the Osborne which frankly bums me out as it should work!
Pingback: Pensando en retrospectiva sobre ‘Turbo Pascal’ cuando se cumplen 40 años de su lanzamiento – a m i g a t r o n i c s
As part of our Electronics Engineering Diploma group project, in 1988 we used Turbo Pascal to interface with a hand wire wrapped expansion card in a IBM XT PC that was a video digitizer using Analog to Digital video chip and data and address lines. We captured one frame of video. ATI(the precursor to AMD) had a their own expansion card video digitizer but you had to hold still for 30 seconds. Our card was instant. I was the main programmer using Turbo Pascal to capture/display/save and draw boxed around people. It was so long ago that I don’t remember how I did it. I never went into programming for a career but ended up working for a telephone company for almost 35 years.
I just stumbled on this and it brought back vivid and fond memories of Turbo Pascal. At the time Turbo Pascal came out I was developing applications on CP/M using the then $400 state-of-the-art Pascal compiler, Pascal MT+ and I don’t recall what editor, maybe WordStar. I recall seeing the garish (in those days) ads for Turbo Pascal for $49 and thought it was a scam. A friend bought a copy and gave it to me because I wouldn’t. I came on a single disk and was very few and small files.
I fired it up and was presented with the very first IDE in hstory, a WordStar-compatible editor and complete-linker in one. I typed in a small program, complied and ran it. It was very fast and I was impressed that it had built-in extensions for I/O which were not part of the Pascal standard.
So I decided to convert one of my applications. When it finally compiled it seemed nearly instantaneous by comparison. I don’t recall how long, but less than a minute coma[pred to 45 minutes.
I dumped Pascal MT+ and never looked back. Not much later I switch to Turbo Pascal on DOS. Later I wrote code using Delphi on Windows. Delphi was Turbo Pascal’s GUI Child. Another masterpiece by Anders Hejlsberg
One of the more amazing facts is the monolithic runtime was only 10K in size. This eliminated linking because the compiler already knew the address for built-in functions.
Later an associate was so impressed that he disassembled Turbo Pascal and declared it some of the most efficient and optimized for both speed and size assembler he’d ever seen. He converted it to 68000 assembler and added more built-in functions for his purposes. He stopped writing in 68000 assembler and started using his custom 68K Turbo Pascal.
Anders Hejlsberg is a programming craftsman and genius.