Memories of Turbo Pascal version 1.0 - Michael Covington, United States

Posted by on in Blogs
From: Michael A. Covington - uga.edu
Sent: Friday, November 07, 2008 6:47 PM
Subject: Early memories of Turbo Pascal

[ David I. note - Michael A. Covington is Associate Director, Institute for Artificial Intelligence, The University of Georgia, Athens, Georgia U.S.A. ]

I'm not sure I got Turbo Pascal 1.0 the month it came out -- I seem to recall a magazine sending it to me to review a few months later. I reviewed, I think, four consecutive versions of Turbo Pascal for PC World Magazine, and liked them all.

Anyhow... I put it in my PC, started it up, and was amazed. I had been using the Microsoft Pascal compiler, which took about three minutes to compile a short program, and you had to swap diskettes in order to run the two passes of the compiler. Turbo Pascal would compile a program in seconds, without disk activity.

The most brilliant move on Turbo's part was to have the compiler stop as soon as it found one error. Lots of tedium was thereby avoided. After all, when a program has a syntax error, we want to *fix* it, and there's no point in doing anything else. Almost the only thing you need to know about the error is *where*.

I was able to do my work with an extremely fast edit-and-recompile loop, often compiling a program twenty times in ten minutes, and this made it easy to program incrementally. It reminded me of the Lisp machines at MIT that I was hearing about. I think I did more programming in a weekend with Turbo Pascal than I could do in a year with a mainframe.

I also liked the modifications to Wirth's Pascal. Of course, a lot of the peculiarities of original Pascal were due to the architecture of the CDC 6600 (not byte-oriented, hence needing the distinction between packed and unpacked; and no end-of-line or end-of-file character). Borland did a good job of bringing Pascal to modern computer architectures.

In fact, a good decision was not to go for too much portability. If you demand portability, you get a language that is usable everywhere but at home nowhere, like Fortran IV or Java. Turbo Pascal gave us everything we needed to program the computer on which we were actually running it, and we were grateful.

The one feature of Microsoft Pascal that I missed was the ability to say "and then" and "or else" for sequential evaluation of Boolean operators. I thought this was a neat way to add an important option without adding keywords to the language. In retrospect, I wish I knew more about Microsoft's compiler. It had an elegant approach to the language, and produced good code (in fact Peter Norton wrote the very first Norton Utilities with it), but its slowness leads me to wonder if it had been ported clumsily from a different environment. Much later, they came out with QuickPascal, and I wrote one application with it but saw no real reason to move over from Turbo.

I had been a Pascal geek almost since before there were such things, and practically invented structured programming for myself before finding out that others had done so. As a freshman I had been the University of Georgia's only ALGOL user, and I had a definite taste for "ALGOL-like" languages, most of which were disappointing in actual use. At the time Turbo Pascal came out, I was deep into PL/1 on IBM mainframes and was learning Pascal out of Wirth's book about algorithms and data structures.

Anyhow... it took me about one week to completely give up on BASICA and QuickBasic. From then on, it was Turbo Pascal and then Delphi (and, much later on, Hejlsberg's other language, C#; I've never particularly liked C, C++, or Java).

My 1983 IBM PC now sits on a dignified table in the living room and has Turbo Pascal 3.0 installed on it. In honor of Turbo Pascal's anniversary, I'm going to go in there this weekend and compile "Hello, world." I have an economist friend who still uses Turbo Pascal 3.0 as a calculator; he finds it more worthwhile to memorize algorithms in Pascal than to memorize key sequences for idiosyncratic pocket calculators!

[ David I. note - if you have Turbo Pascal version 1.0 stories to share, send them to This email address is being protected from spambots. You need JavaScript enabled to view it. and I will post some of them during this 25th anniversary month. Native code compiler Turbo Pascal lives on in Delphi 2009 - if you haven't tried it yet, get the trial download at http://www.codegear.com/downloads ]


About
Gold User, Rank: 1, Points: 2466
David Intersimone (known to many as David I.) is a passionate and innovative software industry veteran-often referred to as a developer icon-who extols and educates the world on Embarcadero developer tools. He shares his visions as an active member of the industry speaking circuit and is tapped as an expert source by the media. He is a long-standing champion of architects, developers and database professionals and works to ensure that their needs are folded into Embarcadero's strategic product plans. David holds a bachelor's degree in computer science from California Polytechnic State University at San Luis Obispo, California.

Comments

  • Guest
    Olaf Monien Sunday, 9 November 2008

    Maybe it should be mentioned again, that TurboPascal 1.0, 3.0 and 5.5 is available for free in CodeGears museum:
    http://dn.codegear.com/museum

    The system requirements could be hard to fulfill though:
    # 5 1/4" floppy disk for CP/M and PC DOS based systems
    # 8" floppy disk for CP/M based systems

    I still have a 3.5" floppy drive somewhere in a box, but I doubt I have anything larger in my archive :)

  • Guest
    David Heffernan Sunday, 9 November 2008

    Seems somewhat odd to like C# but not Java. Perhaps he means that he doesn't like the Java runtime/libraries as opposed to the language 'cos there isn't much difference between C# and Java languages.

  • Guest
    creaothceann Sunday, 9 November 2008

    > the ability to say "and then" and "or else" for sequential evaluation of Boolean operators

    I'm not sure I understand this correctly. Can't the "sequential evaluation of Boolean operators" be done like this:

    if (condition1) then if (condition2) then ...

  • Guest
    Michael Covington Tuesday, 11 November 2008

    Olaf: As you no doubt know, DOS Turbo Pascal will still run in a command box under Windows, though it doesn't handle long filenames...

    David H.: Yes, it's the Java runtime and interaction with the OS that I'm not so fond of... Java seems to be usable everywhere and at home nowhere. C# is tightly integrated into the Windows GUI.

    creaothceann: (Is your name Welsh?) Right, you can do that. I just thought "and then" and "or else" were clever syntactic sugar.

  • Please login first in order for you to submit comments
  • Page :
  • 1

Check out more tips and tricks in this development video: