From owner-freebsd-questions Tue Jul 18 16:34:15 2000 Delivered-To: freebsd-questions@freebsd.org Received: from fw.wintelcom.net (ns1.wintelcom.net [209.1.153.20]) by hub.freebsd.org (Postfix) with ESMTP id E08C237B5B1 for ; Tue, 18 Jul 2000 16:34:12 -0700 (PDT) (envelope-from bright@fw.wintelcom.net) Received: (from bright@localhost) by fw.wintelcom.net (8.10.0/8.10.0) id e6INYCB07222; Tue, 18 Jul 2000 16:34:12 -0700 (PDT) Date: Tue, 18 Jul 2000 16:34:12 -0700 From: Alfred Perlstein To: John Baldwin Cc: FreeBSD@pike.osd.bsdi.com, questions , "David J. Kanter" Subject: Re: Is the C-shell (csh) a bad shell? Message-ID: <20000718163411.L13979@fw.wintelcom.net> References: <20000718160249.I13979@fw.wintelcom.net> <200007182310.QAA55420@pike.osd.bsdi.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.4i In-Reply-To: <200007182310.QAA55420@pike.osd.bsdi.com>; from jhb@pike.osd.bsdi.com on Tue, Jul 18, 2000 at 04:10:47PM -0700 Sender: owner-freebsd-questions@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG * John Baldwin [000718 16:11] wrote: > > * David J. Kanter [000718 15:57] wrote: > > > I'd like to learn a shell fairly well and chose csh because it's in the base > > > FreeBSD system (a little graybeard character) and I found good documentation > > > on it written by William Joy. But I've read some things that it's a "bad" > > > shell. > > > > > > Is it? > > > > > > It seems that, at some level, all shells are essentially equal. But when > > > shells start to divide is csh left in the dust? What about the shells I've > > > read rave things about: Korn and Bash. > > > > > > I've got C++ experience, so maybe that's why I chose csh too. > > > > *** CSH PROGRAMMING CONSIDERED HARMFUL *** > > > > Resolved: The csh is a tool utterly inadequate for programming, > > and its use for such purposes should be strictly banned! > > > > http://arch.freeciv.org/aclug-l-199811/msg00018.html > > > > -Alfred > > I have found this and similar anti-csh arguments to be largely a matter > of opinion and personal style rather than having any substance. The > same can be said for most programming language wars. There are two > rather large shortfalls in csh's language, however. It does not support > functions (except perhaps by abusing aliases), and it does not allow the > same amount of flexibility in I/O redirection. However, I rarely find > that I use much of the added flexibility of I/O redirection in sh. For > scripts where I need that or where I need functions, I tend to use sh. > For other scripts I tend to use csh. Perhaps it's my Pascal background > showing through, but I prefer if (foo) then endif to if [ foo ]; then fi. > > Basically, I freely use both, and use tcsh as my interactive shell. There > is certainly no harm in learning csh, but I would also learn sh as well. The problem is that most scripts grow, and grow, and grow and.. well. :) Once you need functions you're SOL, once you need the redirect functionality you're SOL, syntax doesn't matter, it's the functionality afforded by the shell and csh doesn't cut it. -Alfred To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message