[TUHS] berkeley unix version hosting Doug Cooper's Standard Pascal Environment

Eric E. Bowles via TUHS tuhs at tuhs.org
Sat Sep 19 13:47:26 AEST 2026


I took CS50 in 1985 and we used Oh! Pascal! as a textbook; I don't recall
whether it was the first or second edition.  I still remember being irritated
that "programming" was spelled with a singular "m".

We did use pc (and pi/pix) in class.

From the pc(1) man page, HISTORY:
"The pc appeared in 4.0BSD."

--eric

> On Sep 19, 2026, at 11:38, Clem Cole via TUHS <tuhs at tuhs.org> wrote:
> 
> When we taught CS40 in 1982 I want to say that it was still the first
> edition of Oh Pascal (which I still content is the best introduction to
>>> programing<< I know).  Mike and Doug did a super job with it.  In my
> mind, the fact that they are using Pascal is secondary to their method of
> how to think about and write real programs.
> 
> 
> At that time our students were using the Cory Hall 11/70, which was V7+2BSD
> and the Pascal implementation would have been close to what  is on the 2BSD
> tape.  And yes, Kirk and Joy had been students of Sue Graham. IIRC Joy took
> the original Ken Thompson code and extended it. Kirk retargeted it the vax.
> 
> By that time the Vaxes had taken over for the grad students, with Ernie
> being the primary system running 4.1BSD.   4.1A,B,C are still a few years
> away.    But the Berkeley Pascal system was in heavy development by Sue's
> students.  There was probably a divergence of features from what was on
> Cory and what was on Ernie from a Pascal standard.   For instance Mark
> Linton was working on his thesis which became dbx and pdx (and was what the
> Gnu folks started with for the later gdb).
> 
> Also remember the original book and  compilation suite was before either
> BS6192 (British Pascal Standard of 1982) or ISO Pascal which was at least a
> year or two later.
> 
> FWIW: My memory is hazy as to when pc showed up.  It would have had to have
> been a few years after Johnson's PCC was at UCB since it used the PCC code
> generator and libc, although it had its own libpc which supported Pascal
> I/O semantics that then called into the C runtime.
> 
> Note: our students used pi/pix. But the autocorrect stuff in the front end
> (which was a bad idea in practice) was already there, which I have talked
> about in other messages.
> 
> Clem
> 
> 
> Sent from a handheld expect more typos than usual
> 
> On Fri, Sep 18, 2026 at 6:24 PM Will Senn via TUHS <tuhs at tuhs.org> wrote:
> 
>> Hi all,
>> 
>> My algol60 dive took me into uncharted (for me) waters. It was fun, but
>> eventually I tacked back and came across, Oh! Pascal!, a recommendation
>> I believe Clem gave me. Well, interestingly enough, but not directly
>> unix related, the code in that book runs with fpc -Miso, meaning the
>> free pascal compiler with the iso option for 7185. So, I'm covered on
>> running it in the modern world, but as usual, I'd prefer to run it like
>> it was run back when, on a system that might have been used, at the time
>> to work through the book.
>> 
>> My first step back from today took me to 211bsd, it has a reasonable
>> environment, has pi and px and oughtta work, but... it doesn't really.
>> It'll do basic stuff, sure. But it lacks pc and a more complete
>> compiler, particularly function as argument:
>> 
>> program FunctionArgumentDemo;
>> 
>> function Square(x: integer): integer;
>> begin
>>   Square := x * x
>> end;
>> 
>> function Cube(x: integer): integer;
>> begin
>>   Cube := x * x * x
>> end;
>> 
>> function Apply(function f(x: integer): integer;
>>                value: integer): integer;
>> begin
>>   Apply := f(value)
>> end;
>> 
>> begin
>>   writeln(Apply(Square, 5));
>>   writeln(Apply(Cube, 3))
>> end.
>> 
>> # pi -s arg.p
>>      1  program FunctionArgumentDemo;
>> E ----------------------------------^--- Expected '('
>>     13      function Apply(function f(x: integer): integer;
>> e -----------------------------------^--- Replaced '(' with a ','
>> E 13 - Procedure/function parameters not implemented
>> 
>> Which is reasonable, turbo pascal 3 didn't have function arguments, but
>> Standard Pascal iso 7185 supports it... I want it :).
>> 
>> So, my question is, does this ring a bell for anyone? ChatGPT seems to
>> think that a VAX 4.1 might be in use around the '82-'85 timeline of the
>> 1st and 2nd edition.
>> 
>> Cooper references quite a rarified list of folks in the preface to the
>> 82 edition, so I'm inclined to think he had access to what was current
>> at Berkeley at the time (he calls McKusick one of the "Kompiler Kids").
>> 
>> 



More information about the TUHS mailing list