
Csh Programming Considered Harmful (1996) - adambyrtek
http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/
======
makecheck
It can actually be very difficult to "walk away" from this style of shell in
established Unix environments, which I know from experience. (And I would love
to avoid tcsh, as I have my own list of grievances that go far beyond what was
listed on that web page.)

For some reason -- and I've witnessed this multiple times -- there has been a
tendency to use tcsh as a baseline, and then build stuff on top of it that
lasts for years. After awhile, too many scripts assume they can simply
"source" a csh-style file to set their environment variables and aliases. And
administrators may not even offer standard login files for other shells (which
is sad, considering that Bourne-style allows many more shells to work).

Pretty soon, your choices are to grudgingly use tcsh, where everything works
as intended; or, to use a different shell, and see obscure problems from time
to time because of missing settings.

So basically, nearly 15 years after this article, I can say that tcsh is alive
and well in Unix environments and "can't" go anywhere if they were unfortunate
enough to use it as a baseline. Technically there are ways forward, of course,
but nothing ever seems "broken enough" in tcsh to warrant the effort to change
it.

~~~
adambyrtek
I'm really surprised, because my experience is completely different. I haven't
seen csh shell script in years and I've never used it as my login shell. In
fact on my current system I don't even have csh installed.

I'm a Linux person who started to use it around the middle of 90s. What's your
background? I guess csh is still popular in commercial variants of Unix.

PS. Fortunately Mac OS X doesn't ship with tcsh as the default login shell
anymore.

------
devmonk
More harmful than the "Haskell shell"? ;) <http://code.haskell.org/shsh/>

And I imagine a BF shell ( <http://www.muppetlabs.com/~breadbox/bf/> ) would
be pretty bad. Unfortunately, I can't find one.

