3 ms·
Notice how all these things are being done in the real world on Linux, a monolithic Unix derivative. I mean some of the connections you're trying to draw there
by throwawaylinux 4y ago
Notice how all these things are being done in the real world on Linux, a monolithic Unix derivative.
I mean some of the connections you're trying to draw there are pretty shaky too, but I didn't say Plan 9 has no good ideas and nothing was ever learned from it. If you want something concrete, the actual 9p protocol is used to share certain resources between virtual machines in Linux today. I think certain aspects of mount, e.g., bind and union mounts at least came to Linux via Plan9 too.
That's not my argument. I'm not saying Plan9 is garbage with no redeeming features. But it is generally a failure, and a victim of second system syndrome.
> the tendency of small, elegant, and successful systems to be succeeded by over-engineered, bloated systems
Over-engineered being the important part, although that phrase is pretty arbitrary. It's obsessing and becoming irrationally myopic on certain parts of the system that the designers liked or may have been unique or interesting in the first system, in the mistaken belief that those are the important parts of the system.
> Plan 9 is dramatically smaller and simpler than mainstream UNIX systems, such as Linux.
Well naturally, Plan 9 is a relic, and was never more than a toy even when it wasn't.
- lproven 4y agoI think you profoundly misunderstand what is meant by the "second system effect" and this comment in no way addresses that issue. You're trying to redefine one term here but that does not defend your case. "Over-engineered" means "made more complex than it needs to be". More definitions: https://www.pcmag.com/encyclopedia/term/second-system-syndrome https://www.pcmag.com/encyclopedia/term/second-system-syndro... https://wiki.c2.com/?SecondSystemEffect https://wiki.c2.com/?SecondSystemEffect The point of the second-system syndrome is that something is bigger and much more complex than its predecessor. Plan 9 is smaller, simpler, and cleaner than Unix, because whereas Unix was designed and built on and for standalone, text-based, terminal-driven minicomputers, Plan 9 was built for networked graphical workstations. The "graphical" part of that arguably is a liability, but the networked part is absolutely integral. All modern UNIX machines, to an approximation, are networked, and the Unix kernel at heart does not understand networking. This also applies to microkernel Unixes such as the HURD, Minix 3, and so on. The entire point of Plan 9 is that by considering the developing nature of Unix workstations and adapting the core Unix concepts to the concept of a network, by extending the kernel's core abstractions to include networking and indeed specifically TCP/IP networking (also not yet a thing in the late 1960s when Unix was designed) that Plan 9 profoundly simplifies the model. The "second system" here is not Plan 9. It is commercial Unix and the best example of it is the Linux kernel. Everything is in there. Drivers for all the hardware under the sun, dozens of protocols, dozens of processors. A "second system" is one that tries to include everything and becomes bloated and overcomplex. Plan 9 is the opposite of this. It is stripped down to the essentials, elegant and lean and honed. Which makes it hard to learn and hard to use and not very practical. Whereas once Unix escaped the original labs into industry, it became its own second system: big and over complicated. Then this got worse when it was reimplemented as FOSS when everyone could and did add in everything they wanted. What the term "second system" really means is the diametric opposite of what happened with Plan 9. Plan 9 is the tiny elegant core of a powerful idea, built by geniuses for geniuses and unfortunately too abstruse and theoretical and difficult for ordinary joes with their simple editors and simple conceptual models.
- throwawaylinux 4y agoIt is made more complex than it needs to be. I feel you're just not able to accept that. Shoehorning all abstractions into a file, making a distributed system, these are examples of over-engineering. It doesn't have to be "bloated", or particularly bigger than a previous system or competitors, you're fixating on that part of the second system syndrome too much. But if you're really fixated on that vs Unix then take a look at the original unix for something far smaller and more elegant.
- lproven 4y agoI would expect you to defend your argument, but I do not accept it. The term has a meaning: bigger and more complex. Plan 9 does not fit the meaning. It is smaller and simpler. Therefore, Plan 9 is not an example of the SSS/SSE. It is an example of many other things and has other reasons for failure, but the SSE is not it.
- throwawaylinux 4y agoMaking a transparent distributed operating system in the mid-late 80s and 90s as a Unix replacement was total over-engineering and over-complexity that never had any real demand or advantage. Therefore it is a great example, you just refuse to acknowledge that. Comparing it with actual real world operating systems of the time is misleading and does not refute the second system syndrome, because a lot of complexity in those came about from making them work in in real systems which Plan9 did not need. The fact is there was significant effort and complexity put into making it distributed, and that would not be required if it did not have this unnecessary capability. You're grasping at straws a bit here, I would have expected you to defend your argument a bit better. First you try to justify the distributed capabilities of Plan 9 by saying it's now used in kubernetes 30 years on, and when I point out that's not transparent at the OS layer then you just change to not accepting it is a complexity at all. Anyway the argument is pointless to continue. Plan 9 was a commercial failure and brought little new to systems design. It was a warmed over Unix with over-engineered distributed systems concepts that had been built up since the 50s and 60s and weren't new. At least contemporaries like OS/400 were attempting to bring something new even if they did not ultimately succeed (although OS/400 itself was far more of a commercial success than Plan9 of course).