rcd@ico.ISC.COM (Dick Dunn) (07/09/88)
Some recent comments about Pascal's early history stray pretty far from fact. Let me see if I can kill off some folklore. > It's worth remembering that Wirth never meant the language to be *used*. Emphatically *not* true! In the *original* report on the language, Wirth cites its intended usage "both as a convenient basis to teach programming and as an efficient tool to write large programs..." > It was supposed to be a language for *thinking* about computing, not > implementing systems... This might have been applied to Algol 60 (tenuously perhaps, but not incorrectly). It's just plain wrong for Pascal. See above, but also note that the first Pascal compiler that was distributed outside ETH was written in Pascal. Actually, Pascal is best viewed as the antithesis of a gedanken language; it is an attempt to validate in practice the theoretical work (primarily of Wirth and Hoare) of that period. >...I've got early 70s Pascal books that use dialects > of Pascal that were never even implemented, and never meant to be. Doubtful, unless somebody else went off and invented a dialect he didn't implement! Wirth's *first* version of Pascal, as defined in the original report on the language, was implemented and *widely* distributed. There were two revisions of the language. All three (original and two revisions) had corresponding implementations which came from ETH. In other words: If Wirth wrote about it, it got implemented. (If you think otherwise, I'd like to know some characteristics of the "dialects of Pascal" that weren't implemented.) There was a bootstrapping process to get Pascal going--obviously the first whole compiler wasn't written in Pascal. Wirth describes the process in an early article--I think it was in SP&E. But he is careful to make the points that (a) he wanted to get a real compiler for Pascal very early on, and (b) it turned out that the easiest way to get there was a fast bootstrap, to get a minimal compiler which would let the rest of the work be done *in Pascal*. The earliest compiler that I know of in the US appeared here around 71 or 72. It compiled the language from the original report--this language can be identified by the "class" mechanism and dynamic allocation with the standard procedure "alloc", plus having "alfa" as a standard *scalar* type. The compiler for this first version of Pascal was written in Pascal--the compiler itself was about 4200 lines of Pascal, with an assembly-language support package of about 3000 lines (for the CDC 6000 series). As for why Pascal gained popularity early on, it's easy: teaching! Wirth is an "academic", and the first implementation of the language was on a machine widely available (then) at large universities. The compiler was efficient and reliable. The other languages available on the machine were a good FORTRAN (but a poor language for teaching), an execrable Algol 60 (with a compiler of nominally five passes, if it didn't bomb out sooner!:-), an orphan COBOL (after all, the 6x00's were scientific machines), and an assortment of minor unsupported languages. Imagine the situation if you're trying to teach a computer science course that would require some programming with sophisticated data structures (i.e., some- thing other than arrays:-) and/or interesting control structures (other than counted loops and non-recursive procedure calls). Pascal is the ONLY sensible choice...and lo, not only does the compiler work but the code it generates is fast. -- Dick Dunn UUCP: {ncar,nbires}!ico!rcd (303)449-2870 ...Are you making this up as you go along?
eugene@pioneer.arc.nasa.gov.arpa (Eugene N. Miya) (07/10/88)
Well, this is generally right. I know other Pascal implementers from that time read this group and they can comment. I will just say that if any language lawyers are interested, I still have copies of Pascal News from Andy Mickle back to No. 4. (I left at 18). Also note that Niklaus left ALGOL 68 development just at Thompson and Ritchie came from Multics. Another gross generalization from --eugene miya, NASA Ames Research Center, eugene@aurora.arc.nasa.gov resident cynic at the Rock of Ages Home for Retired Hackers: "Mailers?! HA!", "If my mail does not reach you, please accept my apology." {uunet,hplabs,ncar,decwrl,allegra,tektronix}!ames!aurora!eugene "Send mail, avoid follow-ups. If enough, I'll summarize."
lear@net.bio.net (Eliot Lear) (07/11/88)
Just out of curiosity, does anybody know of any implementation of Pascal that does NOT contain extensions either the I/O system or to the O.S.?