
PL/I as a Tool for System Programming (1969) - kristianp
http://web.archive.org/web/20030401195859/http://home.nycap.rr.com/pflass/plisprg.htm
======
vajrabum
You can find the code they wrote with that compiler (EPL) and more information
about Multics here. It's browsable but not in any modern archive though
([https://web.mit.edu/multics-history/](https://web.mit.edu/multics-
history/)). And here are some links to a simulator that allows you to boot
Multics up
([https://multicians.org/simulator.html](https://multicians.org/simulator.html)).
That web site also has a bunch of history about the system.

~~~
trn
There is also [https://ban.ai](https://ban.ai) for a publicly accessible
Multics system.

------
fortran77
PL/I (and PL/C) was my first high-level language when I studied Computer
Science in the late 70s.

CS 101 at my college was "IBM 370 Assembly Language". Then we moved on to
PL/I.

And it was on punch cards.

------
W-Stool
My first paying gig was to write PL/I code for a factory monitoring system on
a VAX @ Buick City in Flint Michigan, 1981. Anyone remember DEC and those
wonderful VAX systems?

~~~
howard941
My first paying gig was as a temp worker college freshman and I designed and
wrote the link level protocol in PL/M for a Ku band satellite terminal @
Harris in Palm Bay at exactly the same time. The engineers with real jobs @
Harris were in nicer parts of the building and got to work on the network
layers and above on VAXen. Those were great times. Yeah we had useless offices
literally the size of closets (but we all had offices, ones with walls and
doors that closed) but we did everything in the lab, playing music, talking,
everyone was a smoker and cigarette smoking in the lab was almost a
requirement the air was so thick with smoke. Before I left we fantasized about
putting bubble memory into the terminal when bubble memory was a thing. Small
world. Thank you for making my afternoon nicer with the memories.

------
coldcode
My first project in Fortran (early 80s) involved writing a parser (go figure,
what a dumb idea). I had no idea what a parser looked like so someone gave me
a printout of a PL/I parser - word wrapped. It made no sense, I went to the
library and got some books and got it done somehow.

------
kristianp
This article is by the recently deceased Dr. Corbató, who lead the development
of early time-sharing systems, such as CTSS and Multics.

It seems that PL/I wasn't a good choice in hindsight, being too complex to
implement a compiler quickly, given the memory constraints back in the day.

I posted this because I was interested in a comment about Multics that stated
that PL/I's design prevented memory access bugs, because it had variable
length arrays/strings(?), and not C's zero-terminated strings. Of course
C/unix was a better choice for the memory-limited systems of the day than the
relative behemoth that was PL/I/Multics.

~~~
unused0
PL/I doesn't prevent memory access bugs, but it makes it easier to do good
programming. For example, parameters are passed by descriptor, so the
allocated size is passed allowing run-time bounds checking. On the other hand,
there is an equivalent of C type-casting, so it is still possible for the
programmer to shoot themselves in foot while simultaneously hoisting
themselves on their on petard.

------
Merrill
I used PL/I in about '68 to do transmission line calculations. It was great
for the task because it had a complex float type and a full set of complex
math functions. It was a lot better than Fortran or Cobol at the time. I think
it did not succeed because the PL/I compiler was too big and slow for the
first generations of minicomputers in the '70s. There may have been
intellectual property issues that kept it from being more widely used as well.

------
GnarfGnarf
I wrote a Battleship game in PL/I on a Univac 1100 ca. 1978. It was a pretty
cool language, but those /* comments */ felt weird after FORTRAN and COBOL.

~~~
rootbear
I used PL/UM, a PL/I variant at the University of Maryland at about the same
time. Also on a Univac 1100, specifically an 1108 and/or 1106. Where you
there, too?

~~~
GnarfGnarf
I was at Petro-Canada in Calgary, Alberta. I displayed the Battleship arrays
on HP character-based CRTs.

------
bregma
Man they seemed so naive in those days.

I bet they still feel nostalgic whenever they see `proc options(main)` or `put
skip edit` though.

~~~
C1sc0cat
You know this is Multics we are talking about here :-)

I must be one of the few on hn who has actually programmed in Pl/1 on a system
(Prime 750's) that used it as its systems programming language.

It is a Dream Language it just F&%ing works

~~~
mika9090
I worked in PL/1 for 4 years. Saying it is just "F&%ing works" made me laugh
hard! The compilation never failed because the compiler assumed what you
really wanted. I got many bizarre programs.

~~~
lucas_membrane
That was typical of PL/C and the silly IBM timesharing language based on PL/1,
not so much of PL/1 itself.

