9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Noah Evans <noah.evans@cwru.edu>
To: 9fans@cse.psu.edu
Subject: Re: [9fans] insularity
Date: Wed, 17 Mar 2004 11:52:05 -0500	[thread overview]
Message-ID: <286242286f27.286f27286242@cwru.edu> (raw)

Sorry to pile on to the discussion.

As rob said It's a fundamental difference in perspective. 

Plan 9 was more or less inscrutible to me until I read the Unix Programming Environment and Software Tools. 

why wasn't there a tar z? why wasn't there tab completion? Where was my history and job control?

These things are obvious to people who are familiar with the philosophy(I always think of boyd's comments to hapless newbies :)), if you use a long command combination often enough you should write a shell script or a shell function. essentially adding to your productive vocabulary. 

But this philosophy is lost on people who are used to the windows/consumer Unix world because they're used to solutions that violate the tools method of solving problems. 

A really bad habit of mine is relying on the history to do things,
Rather than spend the initial cost of effort to write a shell function and remember it, I'm constantly using Bash's tab completion and history functions to avoid having to expend any effort organizing my patterns of use and solving problems. Everything I do is an ad hoc solution. 

With Plan 9 I'm forced to do it right, because the people who implemented the OS religiously keep the cruft out. But, as Dave said, it's a long and arduous process whose benefits are hardly apparent when you set out(i.e. "why should I use du and awk to walk a tree when you could use find" is the first question that hits every new user familiar with Unix). You only realize in hindsight.

The problem comes when people who are used to the ad hoc way of doing things like this come in contact with Plan 9. 

The majority of the people on this list are so immersed in the tools philosophy that it's like breathing to them. The intracacies and nuances are natural to them.

When you pit this mastery against the sense of entitlement  that comes from mainstream systems you get conflicts like this. People expect canned solutions not pointers to *how* to solve things. 

But this is all obvious and has been discussed to death in the archives.

The real issue is how to solve this problem. 

I propose that we emphasize the tools philosophy to clarify the underlying philosophy and justifications in introductions to new users. It's already there really, but scattered in other explanations rather than dealt with systematically. 

Now that I'm thinking about it, I think this is what
ESR and Jim Choate mean when they talk about a lack of documentation --but not in the way they think. Plan 9 *is* sufficiently documented assuming that you make it past the first "conceptual hump", understanding the basis of the tools philosophy. 

One way of solving this would be to use existing books like the 
 "Unix Programming Environment" or "Software Tools" with their code updated for Plan 9. I think a lot of people avoid those books because they don't believe they need to learn ancient Unix or Ratfor. And it's a shame because they miss the conceptual forest for the trees of individual system implementations and cruft. 

I'll gladly contribute anything I can if we can agree on a roadmap.

Noah



             reply	other threads:[~2004-03-17 16:52 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-03-17 16:52 Noah Evans [this message]
2004-03-17 17:24 ` ron minnich
2004-03-17 17:25 ` andrey mirtchovski
2004-03-17 17:43 ` Dave Lukes
2004-03-17 17:59   ` rog
2004-03-17 17:58     ` Dave Lukes
2004-03-17 18:19       ` Don Bailey
2004-03-17 18:18         ` David Presotto
2004-03-18  7:23       ` boyd, rounin
2004-03-18  1:05 ` bs
2004-03-18  1:20   ` Taj Khattra
  -- strict thread matches above, loose matches on Subject: below --
2004-03-18  2:08 Noah Evans
2004-03-18  8:14 ` Michael H. Collins
2004-03-17 18:11 Noah Evans
2004-03-17 17:53 Noah Evans
2004-03-17  8:55 [9fans] Novice question - run as other Geoff Collyer
2004-03-17 16:22 ` [9fans] insularity rog
2004-03-17 16:32   ` Aharon Robbins
2004-03-17 16:36   ` suspect
2004-03-17 16:48     ` lucio
2004-03-17 18:09       ` Dave Lukes
2004-03-17 19:26         ` Fco.J.Ballesteros
2004-03-18 13:50           ` Dave Lukes
2004-03-17 22:48         ` Geoff Collyer
2004-03-17 23:11           ` David Presotto
2004-03-18  7:47           ` boyd, rounin
2004-03-18  2:45       ` boyd, rounin
2004-03-17 17:53   ` Dave Lukes
2004-03-17 19:12     ` Latchesar Ionkov
2004-03-17 18:56   ` vdharani
2004-03-18  2:39   ` boyd, rounin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=286242286f27.286f27286242@cwru.edu \
    --to=noah.evans@cwru.edu \
    --cc=9fans@cse.psu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).