9 ms·
Unix and Multics (2019)
- melodyogonna 2y agoI really respect Ken Thompson's ability to filter things down to the essential functionalities. I wish I could gain a fraction of that power some day.
- kryptiskt 2y agoI disrespect taking ideas from people and then talk shit about them until most people think that they're your ideas. Or just leaving out credit: https://infosec.exchange/@hovav/111301691767812533 https://infosec.exchange/@hovav/111301691767812533
- Aloha 2y agoLooks like he did update a reference to it. https://hachyderm.io/@rsc/111307163277337129 https://hachyderm.io/@rsc/111307163277337129
- samatman 2y agoIt's very easy for moderns to forget (or just not know) how difficult it was to find information before the Internet really took off. When Ken cited "Unknown Air Force Document", you can be sure it would have been a direct citation if he had the paper at hand. But let's be generous and assume he called an Air Force reference librarian and described the paper he was looking for, and said librarian wasn't able to find it on the basis of that description. What's the next step? There isn't one.
- deleted 2y ago[deleted]
- pjmlp 2y agoAlso relevant is the DoD security assessemt of Multics and the advantages of PL/I over C in regards to memory safety. https://www.multicians.org/b2.html https://www.multicians.org/b2.html
- hulitu 2y agoWhat happened to PL/I ?
- pjmlp 2y agoWas later adopted by IBM and Intel for their OS, although since it grew C++ levels of complexity, eventually split up in various dialects. PL/S, PL/M, PL.8, PL/Something... One of them, PL.8 is famously associated with being one of the first LLVM like compiler frameworks, used by IBM on their RISC research, before they pivot and created AIX for their RISC CPUs. System languages like PL/I, BLISS, Modula-2, would have had a different adoption if UNIX wasn't basically free beer with a recipe on how to make it.
- AnimalMuppet 2y ago> System languages like PL/I, BLISS, Modula-2, would have had a different adoption if UNIX wasn't basically free beer with a recipe on how to make it. You always say that. And I always call BS on it. I don't expect to persuade you, replying for the Nth time, but I have a couple of things I want you to think about. "Not free" sometimes beats "free". People buy cars even in cities that have public transit. People paid for cable TV when over-the-air TV was free. For this to happen, though, the not-free option has to deliver more value than the free version. With a car, I can go when I want; with public transit I have to wait. For many people, there's value in that. With cable I can watch 500 channels. There's value in that, at least for some people. PL/I, Modula-2, and Pascal did not deliver more value than C - or at least not enough value to be worth the price of their compilers. Multics did not deliver more value than Unix - or at least, not enough more. In fact, Multics had to reach a very high bar, because not only was Unix free, it ran on less-expensive hardware. The issue (probably) wasn't that Multics cost more than Unix; the issue was that Multics ran on hardware that cost a lot more than a PDP-11. Unix could have cost as much as Multics and still won, because the cost of the OS was not the dominant cost in the equation. You often mention network effects - that Unix and C took over universities because they were free, and so everyone was using them, and so everyone knew how to use them, and so when they went somewhere else, they used what they knew. Go back to cable TV. Over-the-air TV had network effects - everyone was talking about the show they watched last night, and if you didn't watch it, you were left out. It was free advertising plus social pressure to be part of the "in" crowd. And yet cable still made money, and eventually grew into internet distribution, and still took away large amounts of market share from broadcast. Network effects can be overcome, if the product is actually closer to what people want. So I think your explanation is too simplistic. It may have been a factor, but in the ahistorical world where Unix and C weren't free, I think they would have won anyway - still because of cost, but because of hardware cost.
- Affric 2y ago> We went to lunch afterward, and I remarked to Dennis that easily half the code I was writing in Multics was error recovery code. He said, "We left all that stuff out. If there's an error, we have this routine called panic(), and when it is called, the machine crashes, and you holler down the hall, 'Hey, reboot it.'" The New Jersey Style.
- cryptonector 2y agoEh eh, there's two New Jerseys here. There's Ritchie and friends, and then there's the people who did SVR2 and up, the ones that created that monstrosity called STREAMS, etc. "It came from New Jersey" was a pejorative at Sun for "it's [crap code] from SVR4". I bet it's still a pejorative at Oracle for whoever still works on Solaris.
- pavlov 2y agoI wonder if there could be an ultra-pessimist errors-first programming language. The main purpose of any code would be to deal with all possible errors and define them upfront. If, by miracle, your program execution does survive the minefield, you can throw a Success exception.
- condensedtea 2y agoSounds a lot like error handling in Golang :)
- ruslan 2y ago> Multics didn't fail: it accomplished almost all of its stated goals. Unix succeeded too, solving a different problem. Hm.. what problems Multics had been solving then ?
- shrubble 2y agoThe goal was a reliable secure OS (achieved) that unfortunately was not very portable.
- gumby 2y agoAlso: written in a high level language (uncommon at the time), uniform structures and models for things like memory and IO, and many more laid out in the original Multics papers. If Multics had been treated as a research project rather than being a plan to invent a ton of new stuff and build a system that would be deployed in volume, everybody would be singing its praises today.
- yourapostasy 2y ago> If Multics had been treated as a research project rather than being a plan to invent a ton of new stuff and build a system that would be deployed in volume, everybody would be singing its praises today. I wonder if Multics had to be pitched to funders as "a plan to invent a ton of new stuff and build a system that would be deployed in volume" to obtain the level of funding needed for it to prove out its precepts. As a research project, it might not have had the impact that it did upon modern OS theory, design and implementation. Even today, there is an incredibly strong averse reaction by funding agents to the software notion of "build one to throw away".
- gumby 2y agoThat was back in the early 60s, funded by ARPA as part of Project MAC. The “customers” were the kinds of people who cared about the rainbow books (hint: all government), though the science was open. ARPA (later DARPA) funded a lot of things that were built under contract, not just pure research. Most of project MAC was pure research and a lot of it is still fundamental and influential today.
- deleted 2y ago[deleted]
- kgr 2y agoThis short video / simulation, explains why, IMO, Unix surpassed Multics: https://www.youtube.com/watch?v=3Ea3pkTCYx4 https://www.youtube.com/watch?v=3Ea3pkTCYx4
- hayley-patton 2y agoBut Multics was written in PL/I (and the Burroughs B5000 system in Algol before) so Unix doesn't have an advantage there.
- tonymet 2y ago[flagged]