Live data from Hacker News

Plan 9 is a uniquely complete operating system

posixcafe.org

71–80 of 88 posts

Re: Plan 9 is a uniquely complete operating system

#71
post #33

Earlier quoted context omitted.

Python started out decades ago as a language for beginners or non-professional programmers, but is the current language simple or minimalistic?

Not at all, it has C++ complexity level, if one wants to master it at all levels. Additionally, since even minor versions introduce breaking changes, getting something from e.g. Python 1.6 to run on 3.12 is an exercise in trial and error, or unexpected surprises at some moment at runtime.

I now describe python as enjoyable for the author and miserable for the user.

If you give the tiniest of Fs for your user, do not write your thing in python.

Re: Plan 9 is a uniquely complete operating system

#72
post #16
post #6

> The Plan 9 implementations tend to not be as feature rich as the proper upstream variants. This is IMO the biggest drawback. Why wouldn't any user want the software to be feature rich? In fact, looking at Plan 9, I often feel that the provided software is just a MVP.

Counterpoint: Plan 9 is supposed to be the ultimate realization of the Unix philosophy. One important aspect of the Unix philosophy is composable software. Instead of large, feature-rich programs where functionality is often siloed off from other programs, users have a toolbox of small, composable programs that “do only one thing and do it well” and that they could connect together using pipes and other inter-process…

Both KDE and GNOME started out with components. GNOME was originally the GNU Network Object Model Environment and KDE had KParts.

Re: Plan 9 is a uniquely complete operating system

#73
post #29

Superceded by Inferno as follow up project, where Limbo took the role of the abandoned Alef language for Plan 9. I always have the impression the discussion stops on a gas station the middle of the road, instead of on the destination.

I keep reading this but if you compare the latest version of the 9front fork with the source code with inferno there is no doubt 9front looks a lot more polished. FFS I had to download some guys amd64 fork because the vita nuova bit bucket only has i386 sources.

I'm curious if vita nuova is even still around. The website looks exactly the same as it did 20 years ago, before AMD released their x86-64, and still has Irix as a target.

Re: Plan 9 is a uniquely complete operating system

#74

For the uninitiated, Plan 9 lives on as the filesystem network interface that allows Windows and Windows Subsystem for Linux cross-platform access to your C drive. Via " https://nelsonslog.wordpress.com/2019/06/01/wsl-access-to-li... ": Plan 9’s filesystem is a very simple network filesystem protocol to share files between systems. They are specifically using 9P2000.L. They considered using Samba and SMB instead but…

> Plan 9 lives on as the filesystem network interface that allows Windows and Windows Subsystem for Linux cross-platform access to your C drive. Same with other hypervisors, virtualbox etc do the same. If you have docker installed on macOS it also uses 9p to share data with the host. But IMO 9p is a terrible choice for this, particularly because it doesn’t support hard links. It breaks a lot of software like sccache…

rminnich is a lot of things (including a 9front developer) but not a plan9 developer.

He is right however, you are also right: it's because Windows and Docker publish 9p server in a stupid way. It shouldn't be just the guest fs, you should be able to make any file server you like so hard links would be useless (as they are in plan9) because you would decide what filesystem organization layout you need.

You could make do with FUSE inside the virtualized OSes I guess.

Re: Plan 9 is a uniquely complete operating system

#75
post #25
post #16

Earlier quoted context omitted.

Counterpoint: Plan 9 is supposed to be the ultimate realization of the Unix philosophy. One important aspect of the Unix philosophy is composable software. Instead of large, feature-rich programs where functionality is often siloed off from other programs, users have a toolbox of small, composable programs that “do only one thing and do it well” and that they could connect together using pipes and other inter-process…

The irony is that Acorn's RISC OS arguably came the closest to this ideal with any pragmatism. The way that file choosers worked effectively allowed one to pipe a saved file from one application to another and then do it again through the same workflow in the next application and so on.

This kind of IPC lurks in every major OS, drag to an app window is supported by Xorg Mac and Windows.

Re: Plan 9 is a uniquely complete operating system

#76
post #22
post #16

Earlier quoted context omitted.

Counterpoint: Plan 9 is supposed to be the ultimate realization of the Unix philosophy. One important aspect of the Unix philosophy is composable software. Instead of large, feature-rich programs where functionality is often siloed off from other programs, users have a toolbox of small, composable programs that “do only one thing and do it well” and that they could connect together using pipes and other inter-process…

Agreed. And one could argue that Unix wasn't really popular because of the "philosophy", but because it would get out of the way and let you run big monolithic applications like OracleDB or CAD software or even Emacs and etc. So no popular application using "Plan 9 philosophy" ever emerged.

The plan9 philosophy can't exist because there are no more three-button mice... UI aside, you have very cool technical differences with UNIX and most important of all daemons are file servers, you don't have to create or learn any new query style and path layout to work with them, you interact with parts exposed from a program writing (to) files and reading them, you don't necessarily need to read big chunks of data either if the program can expose just fragments.

Re: Plan 9 is a uniquely complete operating system

#77
post #39
post #22

Earlier quoted context omitted.

Agreed. And one could argue that Unix wasn't really popular because of the "philosophy", but because it would get out of the way and let you run big monolithic applications like OracleDB or CAD software or even Emacs and etc. So no popular application using "Plan 9 philosophy" ever emerged.

I suspect the appeal of the Unix Philosophy is strongest at the earliest phases of the system's evolution. Once you've written some very basic boostrap tools, the "second generation" of stuff that adds convenience and flexibility are a lot simpler. A trivial example: 20 seconds after you wrote "directory listing", someone will say "I want a directory listing, but sorted by date, and it would be awesome if it didn't i…

The pipeline part and the "do one thing well" can't make anything structurally serious for the layman. But Unix had gaps for that, that plan9 in its ways fills: it has GUI, a better shell language, coroutines and file servers. The application then has to be glue code you'd write in C or Rc, you may write pipelines for some things your application does but nobody can do Excel (the way Excel does) with just a pipeline...

Re: Plan 9 is a uniquely complete operating system

#78
post #68
post #21

Earlier quoted context omitted.

I fail to see your point. To me, these three are all very close to each other in "simplicity" and any ordering seems arguable. If anything, isn't Perl simpler than Python and if not, why? Perhaps vast differences in ergonomics and language-culture-fit but that's orthogonal/unrelated?

The point is that simplicity is an ergonomic consideration, regardless of how you nitpick the analogy.

In context though, you gave it as an example why people would not want more feature-rich software.

The supposed simplicity of Python over Perl has nothing to do with Perl being more feature-rich and that compromising its simplicity.

It seems like Plan9 would get closer to "Python simplicity" by adding features and extending interfaces. Which would be at conflict with the "minimalist MVP simplicity".

You present it as mutually exclusive. I believe it's the same word used for two fundamentally different aspects of software - less of a nit.

Re: Plan 9 is a uniquely complete operating system

#79
post #75
post #25

Earlier quoted context omitted.

The irony is that Acorn's RISC OS arguably came the closest to this ideal with any pragmatism. The way that file choosers worked effectively allowed one to pipe a saved file from one application to another and then do it again through the same workflow in the next application and so on.

This kind of IPC lurks in every major OS, drag to an app window is supported by Xorg Mac and Windows.

I suppose this is IPC in the loosest possible sense? It's more like GetOpenFileName() and GetSaveFileName() in Win32 but getting handed a HANDLE outright instead of an LPCSTR to pass to CreateFile() later.

Re: Plan 9 is a uniquely complete operating system

#80
post #78
post #68

Earlier quoted context omitted.

The point is that simplicity is an ergonomic consideration, regardless of how you nitpick the analogy.

In context though, you gave it as an example why people would not want more feature-rich software. The supposed simplicity of Python over Perl has nothing to do with Perl being more feature-rich and that compromising its simplicity. It seems like Plan9 would get closer to "Python simplicity" by adding features and extending interfaces. Which would be at conflict with the "minimalist MVP simplicity". You present it as…

You're absolutely right, my analogy sucked. Python is not a good example of a simple language.

Complexity is in conflict with usable composition. Because of simple, small interfaces, the surface area needed for composition to cover all cases in a plan 9 environment is much smaller.

This allows for things like remote login to be implemented as a small number of 'mount' calls, git to serve repos in a way that can be scripted without writing gobs of porcelain, or sshnet to trivially replace the entire network stack in userspace (namespace by namespace), so that software doesn't need to implement features like socks proxy support.

The simplicity and uniformity of the interfaces and tools is an enabler.

But, you're right. I should have picked scheme or lua as an analogy. Scheme is a particularly good one: the simplicity of its syntax enables easier macro manipulation. How many special cases would you need to have if you were implementing a lisp style macro system for C++?

Smaller interfaces and implementations, lead to smaller sets of special cases and contexts to keep in mind, easier interposition and emulation, and faster debugging.

> You present it as mutually exclusive.

I honestly have no idea what you mean. What is the "it" that I am presenting, and what do you think I presented it as excluding?

Post reply on HN