On Mon, Jan 14, 2013 at 9:21 PM, Johnny Billquist <bqt at softjar.se> wrote:
If there's a PDP-11 PL/I compiler, join me in benchmarking using some PL/I examples I
found on
kednos.com ;)
Don't think I've ever seen one. I have F4, F77, Pascal, BASIC+2, COBOL, BCPL,
Simula-2, Xlisp, TECO, Forth... Possibly some other things that I can't remember
now...
Right -- Cutler did the original PL/1 compiler for the VAX only. He bought the front end
from Frieberhouse (aka LPI aka Liant - aka Ryan-Marfarland). Since it was written in
PL/1, Dave had to do the development at MIT on Multics until it was good enough to could
self host on the VMS. At the time, there was not market need for an PL/1 for the 11
family and if my memory serves me, I think the development for the 10's and 20s was
going away. PL/1 was IBM's big systems language and they were trying to move their
code base from FORTRAN and Cobol to it,
As for the PDP-11 C compiler generating poor code, that's because it did not really
have too as the feeling was that the Ritchie compiler for UNIX was not that good either.
Any C compiler of the time was viewed as just needed to work properly, self host and
generate correct code. For the users of DEC OS, folks tended to write in FORTRAN or
Macro on the 11s (or BLISS if you were DEC - but you need a 10 to cross compile).
Again, if memory serves me at all here, Cutler was so underwelhmed by the C compilers for
the 11 (UNIX and non-UNIX versions) he took a stand of how could it be that hard and to
prove the compiler guys wrong he said he could write one and one that generated optimal
code - the results became VAX-11/C.
One of the things he did at the time (which pissed me off as a C user/hacker) was he
ignores Dennis's "register" declaration - stating he could do a better job
of register allocation that I could [which when we were writing targeted code was not true
- the best he ever did was as good as we did and often did not go as well].
But he would later be proved more clairvoyant for different set of reasons. When we
started to move code from VAXEN and PDP11s to 68K et al, then it actually did work better,
because the code optimization needed to vary depending on the target and architecture
constraints.
Clem