11 ms·
I understand why it didn't take off, but I don't think it's true that Plan 9 was just a tiny incremental improvement over UNIX's architecture. Modern networking
by yepguy 8y ago
I understand why it didn't take off, but I don't think it's true that Plan 9 was just a tiny incremental improvement over UNIX's architecture. Modern networking and distributed systems would be a LOT nicer today if Plan 9 had taken off in the 90s. I think the economic benefit over today's state of affairs would have been massive, not just something that appealed to computer geeks' sense of elegance.
- rdtsc 8y ago> Modern networking and distributed systems would be a LOT nicer today if Plan 9 had taken off in the 90s. But it didn't take off. That's already decided. It wasn't enough. One can say well if it happened 10 years earlier maybe, it would have taken off. Or if Linux never happened. But it's speculative. Heck, Plan 9 source is there. If so much economic benefit can be derived, why hasn't it become a dominant player. It had been around enough time, and there are enough developers around to have flocked to it and make it overtake Linux by now. > I think the economic benefit over today's state of affairs would have been massive, I think we already reaping enormous benefits open source licensing model in general. We live in a world where you can download production grade operating systems, databases, compilers, libraries for free and also inspect their source. That is often taken for granted and is incredible compared to who it used to be.
- yepguy 8y agoI can't really disagree with most of your post. The reason Plan 9 or its ideas can't be resurrected very easily now is because every machine on the internet has to pretend to be UNIX and speak a thousand ad-hoc protocols. UNIX's many flaws have been papered over, one by one, by incredible brute force (instead of in one fell swoop). I'm only lamenting the fact that the 90s were a crucial period in the development of the commercial internet, and in another timeline it could have developed in a very different direction.
- ernst_klim 8y ago>if Plan 9 had taken off in the 90s Plan9 is a joke, file abstraction is a ridiculous idea. File abstraction is terrible for anything beyond storing information. It sucks for multimedia, IPC, input. Unix showed that, escaping from file abstraction in any domain (except networking, maybe). That's why we use d-bus instead of pipes, opengl instead of writing buffer etc. People need disposable, modular and introspectable APIs, like in mirageos, lisp machines or smalltalk OSs, not a ridiculous file crap.
- yepguy 8y agoWell my only examples were networking-related, but something like D-Bus could easily have a filesystem-based API instead. I'm willing to accept that files are a bad abstraction for graphics. I don't really know anything about that domain, but UNIX didn't get graphics right either.
- pjmlp 8y ago> UNIX didn't get graphics right either. That is a bit more debatable, as X11 is not the only way to do graphics on UNIX. I would argue that among UNIX variants, NeWS, NeXTSTEP and OS X did got graphics right. I think X-Windows did not get graphics right
- DonHopkins 8y agoBravo! I wholeheartedly agree that X-Windows didn't get graphics right (and that you're right to refer to it by the name "X-Windows" to annoy the X-Windows Fanatics, who take it upon themselves to correct you every time you call it X-Windows)! https://medium.com/@donhopkins/the-x-windows-disaster-128d398ebd47 https://medium.com/@donhopkins/the-x-windows-disaster-128d39... >X Graphics: Square Peg in a Round Hole: Programming X-Windows is like trying to find the square root of pi using roman numerals. - Unknown As I stated before (which ernst_klim chose to ignore, but apparently strongly agrees with), Eric S Raymond was full of shit when he wrote that "in Unix everything is a file" in his terrible book "The Art of UNIX Programming", just as he was also full of shit when he wrote "given enough eyeballs, all bugs are shallow" and falsely attributed it as Linus's Law, and ESR was full of racist hatred and bullshit when he more recently wrote "The average IQ of the Haitian population is 67... Haiti is, quite literally, a country full of violent idiots" (although ernst_klim may not agree with my opinion about that ESR quote). http://esr.ibiblio.org/?p=7011#comment-1685142 http://esr.ibiblio.org/?p=7011#comment-1685142 The extensible linguistic approach that NeWS took towards a graphics API is also a great approach to a file system API, which I summarized in the recent discussion of "The everything-is-a-file principle - Linus Torvalds": https://news.ycombinator.com/item?id=17532320 https://news.ycombinator.com/item?id=17532320 >I prefer the "everything is a computer" API. (Which happens to be Alan Kay's model of object oriented programming as message passing.) https://softwareengineering.stackexchange.com/questions/46592/so-what-did-alan-kay-really-mean-by-the-term-object-oriented https://softwareengineering.stackexchange.com/questions/4659... >"I thought of objects being like biological cells and/or individual computers on a network, only able to communicate with messages (so messaging came at the very beginning -- it took a while to see how to do messaging in a programming language efficiently enough to be useful)." -Alan Kay >NeFS -- aka NFS 3.0 -- used a PostScript interpreter as the file system API. https://news.ycombinator.com/item?id=17061967 https://news.ycombinator.com/item?id=17061967 >Even 16 or so years earlier in 1990, Sun played with the idea of putting a PostScript interpreter in the SunOS kernel. >Like NeWS was the Network extensible Window System, so NeFS was the Network extensible File System, or NFS 3.0. >It was actually a great idea, just a wee bit before its time, and very poorly named and positioned! >For example: If you want to make a copy of a file on the server, you can send a PostScript program that runs in the kernel and copies the file locally on the server in the kernel with ZERO context switches, instead of sending it over the net to the client, then back from the client to the server. Even if you rsh'ed the user command "cp" on the server, it would still incur context switching, but if your copy loop was running in the kernel then it didn't need to switch in and out and in and out for every block it copied. https://news.ycombinator.com/item?id=17482780 https://news.ycombinator.com/item?id=17482780 >I disagree that history proves them wrong about Telescript. They just had the client/server relationship backwards (and asymmetrical). >Andy Hertzfeld: "You didn't really need to do that. Just the remote procedure paradigm was good enough. Which is really what the web is based on. You don't inject code into the web to do you work for you and come back to you. You just ask a server with an http request." >It doesn't take Yakov Smirnoff to observe that now the web injects code into you. >The remote procedure paradigm isn't good enough. That just leads to the X-Windows Disaster.