Live data from Hacker News

Plan 9 is a uniquely complete operating system

posixcafe.org

41–50 of 88 posts

Re: Plan 9 is a uniquely complete operating system

#41
post #31
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…

That would be Inferno, not Plan 9. COM is everywhere on Windows, specially since Vista, as the WinDev regained the control they thought Longhorn was going to take away from them. One of Powershell strengths is the easy access to COM, just like .NET, frameworks. Linux could do the same with D-Bus, but alas so is the distributions wars, and hate on anything like proprietary OSes, that it only has a minor role on system…

Intuitively this sounds like asking for dependency and API hell?

Imagine writing a huge complex program that is dependent of communication between smaller existing programs. Either you use the default programs that where shipped with all the different versions of OS'es with different distro's (never going to work, too many different versions of programs and their communication interfaces) or you ship certain fixed versions of all of the small programs that form your bigger program.

In case of the latter: why not just use libraries? It's basically the same thing with an easier API?

Maybe I'm missing something...

Re: Plan 9 is a uniquely complete operating system

#42
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…

> With Unix Philosophy tools, you might already have have a "sort" and "paginate" command, so it's just piping stuff together. They can do it themselves, or it will take 20 seconds to explain.

Sorting the output of textual tools like ls requires parsing which can be non-trivial. It's easier to do it by using a modern structural shell such as nushell.

Re: Plan 9 is a uniquely complete operating system

#43
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…

Imagine extending Plan 9 semantics with something like REST style protocols, but via the (virtual) filesystem layer rather than HTTP requests.

(Offhand, I've never touched Plan 9 but...) Hypothetically /proc/SOMEPID/db/DATABASE/SCHEMA/TABLE/various views which provide expressions in some order. Or /proc/SOMEPID/containerofthings/ and the directory listing is serviced by the application, as an enumeration of keys (filenames) to values (datasets). For a database the API would behave similarly to how ORMs operate since filesystems are inherently similar to objects.

Re: Plan 9 is a uniquely complete operating system

#44
post #43
post #39

Earlier quoted context omitted.

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…

Imagine extending Plan 9 semantics with something like REST style protocols, but via the (virtual) filesystem layer rather than HTTP requests. (Offhand, I've never touched Plan 9 but...) Hypothetically /proc/SOMEPID/db/DATABASE/SCHEMA/TABLE/various views which provide expressions in some order. Or /proc/SOMEPID/containerofthings/ and the directory listing is serviced by the application, as an enumeration of keys (fil…

Why be dependent on the /proc/SOMEPID/ path? Just write your process as a plan9 file server, and expose it in some arbitrary part of the filesystem.

Re: Plan 9 is a uniquely complete operating system

#46
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.

> Not at all, it has C++ complexity level, if one wants to master it at all levels.

Would be interesting to hear what levels you think those are because as someone who has been learning and writing C++ and Python for over 20 years now, I'd say there's no level of Python which comes even close to the complexity of C++ at a comparative level.

> 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.

Fair enough. But then again: that's irrelevant for any new project written since about the start of the last decade. And to continue the C++ comparison: whereas Python 1 -> 2 -> 3 imo solved some real issues, the consecutive C++ standards never did this resulting in something which is, yes, backwards comptible (roughly - try getting 30-40 year old code getting to compile with /std:c++latest and /Wall - or look at all those tiny behavior changes between the last couple of standard iterations) but also seriously plagued by that as it holds back innovation. Modern C++ minus a lot of the old UB-prone stuff would definitely be better and less complex than what we have now.

Re: Plan 9 is a uniquely complete operating system

#47
post #46
post #33

Earlier quoted context omitted.

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.

> Not at all, it has C++ complexity level, if one wants to master it at all levels. Would be interesting to hear what levels you think those are because as someone who has been learning and writing C++ and Python for over 20 years now, I'd say there's no level of Python which comes even close to the complexity of C++ at a comparative level. > getting something from e.g. Python 1.6 to run on 3.12 is an exercise in tri…

The dynamic and metaprogramming parts of Python can get pretty complicated, especially when it's done in a large program/library like SQLAlchemy.

Re: Plan 9 is a uniquely complete operating system

#48

What does this file mean and used ? https://github.com/9front/9front/blob/front/lib/bullshit

https://github.com/9front/9front/blob/75ac2674deab8ca70924b8...

From the man page: bullshit - assemble a stream of bullshit from words in a file

It will produce output like (ran it 3 times)

persistence firewall markup realtime-java callback-scale generator

virtual polling polling SQL out-scaling blockchain

converged converged singleton property self-signing-based element polling just-in-time control

Re: Plan 9 is a uniquely complete operating system

#49
post #19

Earlier quoted context omitted.

Python isn't simple.

Perl is less simple. Though, I suppose lua would be a better comparison.

Lua is great, and `eval "$(luarocks path --bin)"` in your ~/.bash_profile or ~/.bashrc seems fine, better than Perl's where you gotta export PERL5LIB, PERL_LOCAL_LIB, PERL_MB_OPT, and PERL_MM_OPT, for example.

Re: Plan 9 is a uniquely complete operating system

#50
Fun facts, the unpopularity of Plan 9 compared to Unix/Linux is what motivated Rob Pike writing the now infamous article Systems Software Research is Irrelevant (2000) [pdf]:

[1] Systems Software Research is Irrelevant (2000) [PDF]:

https://news.ycombinator.com/item?id=29709807

Post reply on HN