Pat Gunn (dachte) wrote,
Pat Gunn

Shells and Jobs

Quick expanded thoughts on an online techie discussion on Unix shells:

In a G+ conversation, someone was thinking about changing shells, and most of the people there are us long-time Unix users of a certain age. A Plan9 guy was there making some flamboyant claims about how rc (the Plan9 shell) is the only decent shell but you have to use it with 9term which is the only decent terminal.

I like rc. I used it for awhile (as well as its descendant, 「es」). The problem is that rc doesn't have job control, which is a pretty important feature for modern shells. Job control is a slightly hairy thing to implement in a shell, but most of the unix shells people use nowadays have it.

I asked him how he got by without job control, and he said, 「In any 'modern' OS with any modern UI job control just doesn't make any sense as part of the shell. When you have a window manager (or even something like tmux), what exactly you need job control in the shell for?」, which is some pretty amazing brain damage. I stepped away with a reference to mjd's 「Advocacy」 (amazing party game, btw).

Still, that wasn't a very descriptive answer; the best way to explain it is that people like to use a shell/terminal as a task-dedicated space most of the time. It's reasonable to use job control to manage a set of related tasks; terminals/shells are heavyweight in that you might have moved to a certain directory, have relevant history to what you're up to, might be ssh'd somewhere, yaddayadda. Even the path in your prompt (if it's in your prompt) might act as a cue to remind you what you're up to there. Opening up multiple terminals to perform one task might happen (those of us who use multiple workspaces and tend to devote a workspace to a task might do that), but we're generally reluctant to do so without reason. screen (or dtach) give us more flexibility for special situations, but don't change our normal way of doing things.

Plan9 has a lot of fantastic ideas, but it never got enough sustained development to evolve out of barbarism in its user-centric stuff. The same goes for many of the software components we got out of it; it's an OS a techie might find pretty, but unless they're a die-hard conceptual aesthete, they're going to miss the power of UNIX (and the look/feel of some decent window manager).

The style of his responses kinda bugs me, maybe like how diehard Mac fans get that Stolkholm Syndrome, or Amiga Persecution Complex, or .. well, what the OS/2 community was like. Some of this is of course a legitimate clash of values; for me, I want a lot of power and I want it as legally unencumbered as possible (hence preference for GPL) and with few gatekeepers (hence distrust of heavy-handed app stores). It's really the unnuanced "my chosen platform is the best at everything" reflexive fending off of legitimate criticism that bugs me. While Linux and the BSDs have been my happy home for many years, if asked about their problems I could probably manage many blog entries about design shortsightedness, poor implementation, socio-technical problems, and the like. While I think Apple's products should be avoided because they're bad for the state of the tech industry, I can talk at length about things they got right technically or UI-wise and about some of the positive effects Apple has done for the tech industry. When that nuance is lacking in others and they have a sports-team mentality towards the whole thing, there are few things more irritating.


  • Still alive

    Been feeling a bit nostalgic. Not about to return to LiveJournal - their new ownership is unfortunate, but I wanted to briefly note what's been up…

  • Unplugging LJ

    It's about time I pulled the plug on the LJ version of my blog: 1) I'm much more active on G+ than I am with general blogging. I post many times a…

  • Mutual Trust

    I don't know which should be considered more remarkable: That a cat should trust a member of a far larger and stronger species that it can't…

  • Post a new comment


    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded