Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!samsung!zaphod.mps.ohio-state.edu!mips!winchester!mash From: mash@mips.COM (John Mashey) Newsgroups: comp.unix.wizards Subject: Re: Dr David G Korn to speak at SVNet Message-ID: <37241@mips.mips.COM> Date: 22 Mar 90 02:27:57 GMT References: <1753@ralmar.UUCP> <14020085@hpisod2.HP.COM> <2289@plx.UUCP> <1990Mar7.052552.11154@esegue.segue.boston.ma.us> Sender: news@mips.COM Reply-To: mash@mips.COM (John Mashey) Organization: MIPS Computer Systems, Inc. Lines: 51 In article <1990Mar7.052552.11154@esegue.segue.boston.ma.us> johnl@esegue.segue.boston.ma.us (John R. Levine) writes: >In article <2289@plx.UUCP> evan@plx.UUCP (Evan Bigall) writes: >>sh contained some of the most notoriously bad sources in all of unix. >>This has lots to do with it being very old, devloped in the infancy of >>c and unix. > >Not so, the fifth edition had an earlier shell written by John Mashey. >Lots of small hacks were made to it, for instance I added a set of 52 >variables $a-$z and $A-$Z. When Steve Bourne wrote his shell, he evidently Not quite right. Various PWB editions had shells that I'd done work on, but none of the research editions. The "PWB shell"** was basically a Thompson shell with: a) simple 1-letter variables b) more control structure commands, such as if-then-else-endif, switch, etc [earlier], and moved into the shell for speed [later]. c) use of a little extra state in the u-block, such as a person's home directory, where we kept the file givingthe person's search path, i.e., this was the special case that eventually got generealized into the environment in V d) Numerous small tweaks to make it more useful for shell programming. Some of the earlier work was done by Dick Haight after harassment by me, and then I did the later work. This shell was never remotely elegant, as: a) It was required to be completely upward compatible. b) It had to be fast and useful on 128K PDP-11/45s supporting 16-24 users [which was the dominant machine available when most of the work was done; PDP-11/70s with monstrous 1MB memories became available only after most of this was done.] c) Working on it was interleaved with a zillion other things, and we expected to have to track what came from research, so we didn't want to sit down and rewrite it. d) All of this led to some necesary, but inelegant decisions, which is which I always preffered that it be called the PWB Shell... The only true merits of this were: a) It helped get serious shell programming rolling. b) It supported a lot of the program administration and tool-building efforts of about a 1000 people at BTL-PY, and probably saved a lot of people a bit of time. c) Although much of its added syntax disappeared forever, some of the semantics led to cleaner features in later systems. d) It did generate a Bell Labs course called "Bourne Shell Programming for Mashey Shell Programmers", a maddening title if there was one.... -- -john mashey DISCLAIMER: UUCP: {ames,decwrl,prls,pyramid}!mips!mash OR mash@mips.com DDD: 408-991-0253 or 408-720-1700, x253, or 408-524-7015 USPS: MIPS Computer Systems, 930 E. Arques, Sunnyvale, CA 94086