Be careful in applying modern judgments without remembering
the historical context - below
On Mon, Jan 2, 2023 at 12:12 AM Mary Ann Horton <mah(a)mhorton.net> wrote:
On 12/30/22 20:23, Dave Horsfall wrote:
Yep; whoever wrote CSH must've been high on something, as the syntax makes
no sense whatsoever.
Bill Joy wrote csh. He based it on the V6 shell. It made perfect sense at
the time. This was before the V7 Bourne shell came out.
Right -- let me add a little detail to this that might help. With the
Fourth, Fifth, and Sixth Edition the default shell from Research is the
Thompson shell. It's simple and un-adorn. Get the job done for typing,
but as a formal scripting (programming) language is not easy to use.
In fact, the command 'cd' idiom is still 'chdir' [add it was a
typical
local hack that many of did]. If you look at the USENIX tapes in the TUHS
archives, in particular, the Harvard tape I suspect you will find a number
of alternative shells that people had offered up from the different sites.
With 'BSD' (the first UNIX distribution tape from the UCB Industrial
Liasion Office of EECS which we often refer to on this list as 1BSD to
distinguish it from the other releases - also available on TUHS], there is
a new Berkeley shell, that Mary Ann points out Bill had created by
modifying the Thompson shell and added some features to it. By the time of
the 2BSD, the shell has been further been refined and by then renamed the
csh, as the syntax had been made to approximate the C language.
A big difference between the *Thompson Shell begets -> Berkeley Shell ->
begets C Shell *and Bourne's work on his shell, is that Steve started from
scratch. Steve had just come off many years of the Algol 68 project and was
certainly extremely well-versed in the detailed subtleties of the semantics
of language design. His higher bit was to create something *easier for
people to write scripts using the -> small is beautiful -> Unix philosophy
ideas*.
Bill, on the other hand, is the quintessential hacker (My line is him in
those days used to be: "He types open curly brace, close curly brace and he
patches at 9600 baud.") Bill was interested in a shell that made typing
easy, was not a load the system, and made it easy for >>him<< to write
simple admin scripts.
I would suggest both were 100% successful at what their purpose was.
Like Larry, I have always been a meany and I have tried to make darned sure
my folks (even to this day - we will see how long that last after I retire)
use V7 syntax scripts - not bash, not even korn. As I said, the old UNIX
hacker wisdom, has been "*Bourne to Program, Type with **Joy*" and you have
a hard time going wrong.
[FYI - while I have tcsh around, on my Mac these days I finally switched
from tcsh to zsh as my default, but pretty much all of Bill's typing tricks
are supported in zsh so the 'ROMs" in my fingers are happy after >40
years"] but all of my scripts are still V7 syntax - never been a reason to
change that -- bigger issues usually found are GNU/Linux is not UNIX and
Apple had to pee on things also.
ᐧ