This is mostly my thoughts on Plan 9 in general, but it’s based on my experience with 9front.
- I like the emphasis on empowering users to build solutions to their
problems. “There isn’t a command to do that, but you can do it yourself very
easily.”
-
shell command line history
roll your own: fn history {grep ‘^term%’ /mnt/wsys/text|sed -e ’s/^term%//’}
-
- Emphasis on distributed computing is very cool.
-
Heterogenous architectures
When the system starts or a user logs in the environment is configured so the appropriate binaries are available in /bin. The configuration process is controlled by an environment variable, $cputype, with value such as mips, 68020, 386, or sparc.
-
Everything is a file, and everything can be passed around with the 9p protocol, locally, remotely, or between different nodes of a cluster, all transparently.
-
- Why do you keep rewriting things from C into rc scripts? See rc-httpd
- It has a non-standard C compiler? Seriously?
- Partly it has a Plan9-specific API, that’s fine, though I prefer something standardized like POSIX.
- The standard library is extended with different I/O functions; whatever, at least stdio is there for compatibility
- All strings are UTF-8; that’s cool.
- The meaning of some reserved words like
register
andvolatile
are changed - This feels like the missing link between C and Go.
- Consistency
-
Plan 9 presents a consistent and easy to use interface. Once you’ve settled in, there are very few surprises here. After I switched to Linux from Windows 3.1, I noticed all manner of inconsistent behavior in Windows 3.1 that Linux did not have. Switching to Plan 9 from Linux highlighted just as much in Linux.
– Russ Cox
-
Ok, breaking compatibility with Unix for the sake of consistency sounds good to me.
-
The unix find is a SwissArmyKnife. In PlanNine, the TreeWalking is done by du – a unix find . -print is in PlanNine: du -a|awk ‘{print $2}’
This is consistent? Why is du, disk usage, responsible for tree walking?
-