[TUHS] Hypothetical: Could MULTICS have been written in C, if available?
steve jenkin via TUHS
tuhs at tuhs.org
Sat May 23 19:02:43 AEST 2026
I'm not criticising MULTICS, I couldn't have come close to what they did:
with what they had, PL/1 & GE-645 hardware,
they came up with a working design that had decades of use
including 'Security' with many features, like file systems, now standard.
They started with very large budgets, many people and 'stretch' goals - always red flags for projects.
Perhaps they suffered "Second System" effect and over-designed it - but this isn't a critique, just a hypothetical on the impact of language choice.
The project delivered, it was far better software than IBM OS/360 and gave credence to high-level language kernels & designing for security.
IBM was first to prove Software Quality was secondary to Marketing for product sales.
Ken & Dennis spent years coming up with C, slowly evolving it to meet their very precise needs: small, efficient & performant.
Everyone but MULTICS & Burroughs opted for assembler, if they even built a full O/S, not just program loaders.
Thinking of rewriting the kernel in non-assembler was a major invention - a significant research outcome.
I don't believe we'd have had C without Unix, especially rewriting the kernel.
Doug worked on the PL/1 compiler, from memory, and certainly on MULTICS and might have a view:
could something like C have improved MULTICS or helped it's success in the marketplace?
The team & project structure of MULTICS was quite formal - full designs were to be submitted before coding began,
opposite to Ken & Dennis' rapid iterative development [ not to say they didn't design carefully ].
Hamming's "Research is what I'm doing when I don't know what I'm doing" matches this style perfectly, IMO.
After SEL4 / L4.verified, do we still think "You can't write a 'secure' kernel in C"?
The Verification was a huge effort, far more than writing the kernel.
Perhaps another language would've lessened the effort, though at what cost?
We can't change history, the MULTICS experience & the Bell Labs management reaction was necessary for Unix to begin.
Doing kernels on tiny machines forced a very compact, crisp language design, which was then tried 'everywhere', working incredibly well.
Turned out to be a perfect fit for the next generation of small computing: PC's.
============
The only reasonable quality comment I found on the question:
Schneier: The Multics Operating System [ 2007 ]
<https://www.schneier.com/blog/archives/2007/09/the_multics_ope.html>
- minimal post, lots of comments
Linked to:
Karger & Schell, 2002
Thirty Years Later: Lessons from the Multics Security Evaluation
<https://www.acsac.org/2002/papers/classic-multics.pdf>
Several Multicians / Multics admins responded:
Ian Mason
<https://www.schneier.com/blog/archives/2007/09/the_multics_ope.html/#comment-70269>
Tom Van Vleck
<https://www.schneier.com/blog/archives/2007/09/the_multics_ope.html/#comment-70299>
Jim Lippard
<https://www.schneier.com/blog/archives/2007/09/the_multics_ope.html/#comment-70288>
handle 'ranz' signed as 'ear'
<https://www.schneier.com/blog/archives/2007/09/the_multics_ope.html/#comment-70302>
There's a link to Myths about Multics
<https://www.multicians.org/myths.html>
============
There's a Quora thread on the reverse question, what if Unix was built in PL/1, with Multics mentioned in the Q and some answers.
The longest, most complete answer by their Bot [ 611 lines, 4,000 wds ], who's posts have no permalink :(
No idea what the AI scrapped to come up with that response, there's a lot of Unix material to use.
Google's AI used this answer as the basis for its answer on "Multics & C" :)
Why was UNIX written in C instead of PL/1?
Multics was written in PL/1 which is equally capable and was more mainstream than C.
<https://www.quora.com/Why-was-UNIX-written-in-C-instead-of-PL-1-Multics-was-written-in-PL-1-which-is-equally-capable-and-was-more-mainstream-than-C>
===========
--
Steve Jenkin, IT Systems and Design
0412 786 915 (+61 412 786 915)
PO Box 38, Kippax ACT 2615, AUSTRALIA
mailto:sjenkin at canb.auug.org.au http://members.tip.net.au/~sjenkin
More information about the TUHS
mailing list