Dr David G Korn to speak at SVNet

John Mashey mash at mips.COM
Thu Mar 22 12:27:57 AEST 1990


In article <1990Mar7.052552.11154 at esegue.segue.boston.ma.us> johnl at esegue.segue.boston.ma.us (John R. Levine) writes:
>In article <2289 at plx.UUCP> evan at 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: <generic disclaimer, I speak for me only, etc>
UUCP: 	{ames,decwrl,prls,pyramid}!mips!mash  OR  mash at 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



More information about the Comp.unix.wizards mailing list