Robert_Toxen%anvil.UUCP@harvard.harvard.edu (03/27/86)
In reply to my previous article Chris Torek writes: > In article <1512@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@umcp-cs, chris@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 ================================