Comment by saghm

2 days ago

Yeah, my understanding (which is not from first-hand experience) is that a huge part of the origin of Rust was that there was a lot of research in memory safety techniques that had been going mostly unused by mainstream languages, so the idea was "Why not try to make a language using some of it?"

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.

*nod* They're from before I started bookmarking rigorously, but in the early days of Rust, there was a sentiment in the blog posts from the people developing it that the point of Rust was "to give good ideas a second chance" and that Rust was intentionally boring and un-innovative.