Re**n: Shell history

Robert_Toxen%anvil.UUCP at harvard.harvard.edu Robert_Toxen%anvil.UUCP at harvard.harvard.edu
Thu Mar 27 11:53:08 AEST 1986


In reply to my previous article Chris Torek writes:

> In article <1512 at brl-smoke.ARPA> Robert_Toxen writes (in response to a
> somewhat qualified statement by me that csh was written before sh):
> 
> >Sorry, no! Bourne shell came before csh and Bill Joy incorporated Bourne's
> >ideas into csh, not the other way 'round.
> 
> Here (with permission) is a quote from Joe Kalash at UC Berkeley:
> 
> 	The original versions of C shell were written on V6 computers
> 	here (at Berkeley). While it was written before V7 was
> 	brought up here (i.e. before Bill really had access to
> 	Bourne's sh), it was in fact written AFTER V7 was available.
> 
> So csh was written independently, at any rate.  There may have
> been cross-fertilization afterward, but the original csh design
> (if you can call it a design :-/) was not based on the V7 shell.
> -- 
> Chris Torek: seismo!umcp-cs!chris, chris at umcp-cs, chris at mimsy.umd.edu

Oh, boy! I've started a wizard war... I would consider your claim of
"the original versions of C shell" to more accurately mean "the forerunners
of the C shell" were done on V6 before the folks at Berkeley has access to
Bourne's shell. Perhaps some additional history would clarify (and be
interesting to the net because otherwise I could not justify broadcasting
this).

In the spring of 1976 (I think) I got my hands on the source to the V6
shell, while at Berkeley, and started adding features such as "home dir-
ectory". I shared the source with Doug Merritt who added command line
editing (similar to vi's open mode) and other things.

Bill Joy thought the features interesting and got the V6 source and
REimplemented these features and more in several versions of shells
generally known as nsh (new shell).  When he heard about "the new shell
at the Labs (Bourne's) that was supposed to do everything he decided his
work would be redundant so he stopped further development.

When he saw the Bourne shell (whether "saw" meant used, read doc-
umentation, or what I don't know) he decided it wasn't powerful enough
and sat down and wrote csh. While the forerunners were done before the
Bourne shell, comparing them to csh would be like comparing "ed" to vi.

Thus csh incorporates Bourne shell inventions and not the other way 'round.

******************************************************************************
Steve Bourne comments on the above:

Date: Tue, 11 Mar 86 23:49:34 pst
To: ihnp4!anvil!es!Robert_Toxen
Subject: Re:  Shell history

I was not aware of the csh activity when I designed and wrote the
"bourne" shell.  The v7 shell was designed in the fall when Ken
went to Berkeley (1975 I think).  At this time the Mashey shell was
being written (it preceded my shell).  I stole some ideas from Mashey
and fixed the programming language.  The things I remember "inventing"
were CDPATH MAIL and the command substitution.  I also changed
the semantics for command files so that goto no longer worked.

The above is not a complete story.  I do recall sometime (~ 1 year)
later talking with Bill Joy and he said that if I would do this and
that then he wouldn't bother to work on his shell.  I was on to new
things and couldn't get excited about adding stuff.

Much later before I left the lab I added functions and worked with
Bill Weber on the 5.2 shell.

/Steve Bourne

******************************************************************************
Bill Joy replies:

Date: Wed, 12 Mar 86 10:43:26 PST
To: ihnp4!anvil!es!Robert_Toxen
Subject: Re:  Shell history

history is hard.
if you look back you will find
	sh, nsh, ash, bsh and csh
i dont remember much about nsh.
ash stole from pwb shell plus my own inventions.
bsh didn't last very long.
schmidt brought a bourne-shell manual page from btl.
i then added some stuff from there two.
jim kulp put in job control and some other features.
history was borrowed from interlisp.

if you want a more accurate view of what happened, find some old
bsd tapes and see what is on them.

Bob Toxen
Stratus Computer
{ucbvax!ihnp4,harvard}!anvil!bob
================================



More information about the Comp.unix.wizards mailing list