After having some experience trying to write portable Bourne Shell scripts, I recently came across Tom Duff's paper[1] describing the "rc" shell used by Plan 9. I was quite blown away by the number of common shell-scripting problems it solves, and the elegance of the resulting language. There's no chance of it replacing, say, Python, but I'm sorely tempted to install Plan 9 From User Space and try out rc the next time I need to script something.
I was intrigued by your comment and took a look at the rc feature list, but I couldn't see any features that aren't available in bash 3.1 and above.
This takes nothing away from rc of course, which was around when bash was a simple re-implementation of sh, and may very well have been the inspiration for some of bash's modern features. [1]
With regards to scripting, since perl/python/ruby has supplanted shell for moderate to difficult tasks, I think it's perfectly reasonable to use bash/zsh for the occasional simple shell script. Arch Linux, for example, writes rc scripts in modern bash, significantly increasing legibility (given you can read modern bash).
Even if you stick to sh for maximum portability, if you use bash/zsh as an interactive shell, I would strongly encourage diving into the man page; modern shells, for all their shell\ quoting woes, have an amazing amount of concise constructs that make life at the command line quite pleasurable.
[1]: More likely is that Korn shell is the inspiration for both
I wrote a pretty complex web framework and CMS with it ( http://werc.cat-v.org ), and the more I used it, the more I loved it.
I found it to be extremely well crafted, with every feature fitting beautifully with the rest, it misses many fancy things people expect, but once you know your way around what it has, you can do almost anything.
Like awk, is one of those few languages that you can fully keep in your head, and that plus the power of calling other Unix/Plan 9 commands makes it very effective.
Oh no, they're taking us seriously! Quick, add more swastikas!
Heh, seriously, 9front development is done more in fun than anything else, but the 3 main developers are sufficiently talented that rapid progress is being made in several areas where most 9fans tend to struggle. Not only that but 9front's developers seem to be very good at avoiding getting bogged down in peripheral features which divert effort from the drivers and cleanups which Plan 9 really needs.
Ethan, the fun vibe of the project really shows through. I think it is inspiring and inviting. Glad to see you guys having fun with some really cool tech. Keep pushing it forward and keeping us posted!
The native Go integration was a really good move; a lot of interested cross-overs I am sure from the Go community will get into 9front because of that attractive piece.
I see several good things on the list of new features. The rc-based boot process is definitely a good idea. I haven't had the issues with the fossil filesystem that some have, so I don't know about cwfs as the main on-disk fileserver, but I'm looking forward to trying it out. A lot of the contributors have been doing good things in the Plan 9 world for quite awhile now. A list of some of the new features is at http://code.google.com/p/plan9front/wiki/features
The IRC channel (#cat-v on freenode) has been extra helpful and responsive. I've now got 9front mostly up and running on qemu and my T60, thanks to devs fixing drivers on the fly while I passed along screenshots of error messages. I've been interested in hacking on Plan 9 for a while but have had little luck getting it to boot before 9front (even 9atom).
A couple of years down the road, it would be delightfully perverse to end up with Plan 9 running in the server room and Linux/OSX on the devs' desktops. Maybe unlikely, but fun to consider.
This is the first big step to actually creating an ecosystem for plan9. It's a fantastic OS, though there's not much I can do with it, unfortunately. Maybe that will change now!
Personally, when considering the number of ex-Bell Labs employees there, I had hopes that Google would pick up the rights to Plan 9 and continue it. Plus, Google has the deep pockets needed to ensure proper device driver support for modern hardware.
The linked web-page spells out the full name as "Plan 9 from the People's Front of cat-v.org" - perhaps a reference to the "Judean People's Front/People's Front of Judea" split described in Monty Python's Life of Brian.
It takes no effort to be a wet blanket; all you have to do is lie there, covered in water, and drown out anyone else trying to do anything.
How many emails/comments/posts EXACTLY like what you just wrote happened in 1991?
No one is saying what Plan9 will or won't become, but that also means you have no idea where it is going in 10 years or what fun innovations will come out of it.
Don't make a habit of shitting on people thinking outside the box, you'll miss a lot of interesting things.
Even if Plan 9 and 9front go nowhere, the ideas have already crept into other operating systems and userland tools. Linux has had 'mount --bind' for a while, and has last year introduced in-kernel support for 9P2000 (for mounting Plan 9 resources). bash and gawk have some weak support for interacting with the network via the filesystem. wmii actually speaks 9P2000 and uses it for scripting.
[+] [-] thristian|14 years ago|reply
[1]: http://doc.cat-v.org/plan_9/4th_edition/papers/rc
[+] [-] guns|14 years ago|reply
This takes nothing away from rc of course, which was around when bash was a simple re-implementation of sh, and may very well have been the inspiration for some of bash's modern features. [1]
With regards to scripting, since perl/python/ruby has supplanted shell for moderate to difficult tasks, I think it's perfectly reasonable to use bash/zsh for the occasional simple shell script. Arch Linux, for example, writes rc scripts in modern bash, significantly increasing legibility (given you can read modern bash).
Even if you stick to sh for maximum portability, if you use bash/zsh as an interactive shell, I would strongly encourage diving into the man page; modern shells, for all their shell\ quoting woes, have an amazing amount of concise constructs that make life at the command line quite pleasurable.
[1]: More likely is that Korn shell is the inspiration for both
[+] [-] p9idf|14 years ago|reply
[+] [-] uriel|14 years ago|reply
I wrote a pretty complex web framework and CMS with it ( http://werc.cat-v.org ), and the more I used it, the more I loved it.
I found it to be extremely well crafted, with every feature fitting beautifully with the rest, it misses many fancy things people expect, but once you know your way around what it has, you can do almost anything.
Like awk, is one of those few languages that you can fully keep in your head, and that plus the power of calling other Unix/Plan 9 commands makes it very effective.
[+] [-] EthanG|14 years ago|reply
Heh, seriously, 9front development is done more in fun than anything else, but the 3 main developers are sufficiently talented that rapid progress is being made in several areas where most 9fans tend to struggle. Not only that but 9front's developers seem to be very good at avoiding getting bogged down in peripheral features which divert effort from the drivers and cleanups which Plan 9 really needs.
[+] [-] rkalla|14 years ago|reply
The native Go integration was a really good move; a lot of interested cross-overs I am sure from the Go community will get into 9front because of that attractive piece.
[+] [-] mycroftiv|14 years ago|reply
[+] [-] xiaoqmabd|14 years ago|reply
[deleted]
[+] [-] 1337p337|14 years ago|reply
A couple of years down the road, it would be delightfully perverse to end up with Plan 9 running in the server room and Linux/OSX on the devs' desktops. Maybe unlikely, but fun to consider.
[+] [-] pama|14 years ago|reply
http://plan9.stanleylieber.com/9front/
[+] [-] cdcarter|14 years ago|reply
[+] [-] RexRollman|14 years ago|reply
[+] [-] jbrennan|14 years ago|reply
[+] [-] richardk|14 years ago|reply
lol
[+] [-] rkalla|14 years ago|reply
[+] [-] fungi|14 years ago|reply
[+] [-] crazy2k|14 years ago|reply
[+] [-] crazy2k|14 years ago|reply
[+] [-] cpeterso|14 years ago|reply
[+] [-] thristian|14 years ago|reply
[+] [-] mask_of_zorro|14 years ago|reply
[+] [-] rkalla|14 years ago|reply
How many emails/comments/posts EXACTLY like what you just wrote happened in 1991?
No one is saying what Plan9 will or won't become, but that also means you have no idea where it is going in 10 years or what fun innovations will come out of it.
Don't make a habit of shitting on people thinking outside the box, you'll miss a lot of interesting things.
[+] [-] 1337p337|14 years ago|reply
[+] [-] p9idf|14 years ago|reply
[+] [-] hollerith|14 years ago|reply
[+] [-] muuh-gnu|14 years ago|reply
[+] [-] dchest|14 years ago|reply
[+] [-] piotrSikora|14 years ago|reply
[+] [-] nknight|14 years ago|reply
It's not GPL-compatible, but it's definitely Free.
http://plan9.bell-labs.com/plan9/license.html
http://www.gnu.org/licenses/license-list.html#lucent102