Comment by pjmlp

2 days ago

AT&T was already doing that as language to replace C, Cyclone.

AT&T even had a full OS, where C only had minor role, the microkernel and Dis VM/JIT, with the whole userpace implemented in Limbo, designed by the creators of UNIX and C.

Good reminder that memory-safe alternatives to C aren't new. Rust may have won more because of ecosystem and timing than because it was the first to address the problem.

  • To clarify, I didn't mean to imply that there were never any memory-safe alternatives to C before Rust (and re-reading my comment, I still don't think it sounds like that's what I was trying to say, but if that's how people are reading it, then I didn't do a good enough job of making that clear). I was trying to say that my understanding was that Rust was trying to take advantage of research ideas that had been introduced in the past decade or so but hadn't been applied much, which is a more narrow claim than it being the first one to try to tackle the problem at all.

    As the parent comment indicates, it seems like there might have been more languages that were less known that did try to apply some of these ideas, so maybe I'm misremembering the history that I had heard, or maybe I did remember what I heard right, but the people who originally expressed it were similarly unaware that some of it had been tried already. Hearing more context about the time period I was referring to is definitely interesting, and I appreciate it being shared!

  • All the safety improvements of 21st century wannabe C replacements, were already available in NEWP(1961), PL/I (1964), Mesa (1976), Modula-2 (1978), PL.8 (1982), Ada (1983), Object Pascal (1986), among many other lesser known ones.

    However none of them had an OS available in source code for the symbolic price to send tapes around to universities.

    Additionally, the remark that the UNIX and C authors themselves did not stop there, and their latest mark on the computing world was the Go programming language, after Limbo, and the acknowledgement that designing Alef without a GC was a mistake.

    Probably they would not had to reboot Plan 9 OS design into C.