From owner-freebsd-questions@FreeBSD.ORG Fri Dec 14 07:09:44 2007 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 24A7016A41A for ; Fri, 14 Dec 2007 07:09:44 +0000 (UTC) (envelope-from perrin@apotheon.com) Received: from outbound-mail-08.bluehost.com (outbound-mail-08.bluehost.com [69.89.17.208]) by mx1.freebsd.org (Postfix) with SMTP id ED2D513C459 for ; Fri, 14 Dec 2007 07:09:43 +0000 (UTC) (envelope-from perrin@apotheon.com) Received: (qmail 13761 invoked by uid 0); 14 Dec 2007 07:09:43 -0000 Received: from unknown (HELO box183.bluehost.com) (69.89.25.183) by mailproxy1.bluehost.com with SMTP; 14 Dec 2007 07:09:43 -0000 Received: from c-24-9-123-251.hsd1.co.comcast.net ([24.9.123.251] helo=demeter.hydra) by box183.bluehost.com with esmtps (TLSv1:AES256-SHA:256) (Exim 4.68) (envelope-from ) id 1J34g3-0005ai-Bc for freebsd-questions@freebsd.org; Fri, 14 Dec 2007 00:09:43 -0700 Received: from demeter.hydra (localhost [127.0.0.1]) by demeter.hydra (8.13.6/8.13.6) with ESMTP id lBE79g5i020797 for ; Fri, 14 Dec 2007 00:09:42 -0700 (MST) (envelope-from perrin@apotheon.com) Received: (from ren@localhost) by demeter.hydra (8.13.6/8.13.6/Submit) id lBE79fHv020796 for freebsd-questions@freebsd.org; Fri, 14 Dec 2007 00:09:41 -0700 (MST) (envelope-from perrin@apotheon.com) X-Authentication-Warning: demeter.hydra: ren set sender to perrin@apotheon.com using -f Date: Fri, 14 Dec 2007 00:09:41 -0700 From: Chad Perrin To: FreeBSD Questions Message-ID: <20071214070941.GD20150@demeter.hydra> Mail-Followup-To: FreeBSD Questions References: <20071214010542.GA19553@demeter.hydra> <20071213192131.Y7985@wonkity.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20071213192131.Y7985@wonkity.com> User-Agent: Mutt/1.4.2.3i X-Identified-User: {737:box183.bluehost.com:apotheon:apotheon.net} {sentby:bopbeforesmtp 24.9.123.251 authed with apotheon.com} X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - box183.bluehost.com X-AntiAbuse: Original Domain - freebsd.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - apotheon.com Subject: Re: Apparently, csh programming is considered harmful. X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Dec 2007 07:09:44 -0000 On Thu, Dec 13, 2007 at 07:42:35PM -0700, Warren Block wrote: > On Thu, 13 Dec 2007, Chad Perrin wrote: > > >I ran across this today: > > > > http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/ > > > >Title: > > Csh Programming Considered Harmful > > > >I wonder what responses I might get here, and how much of this applies to > >tcsh as well (I'm still not exactly a tcsh expert). > > I like csh/tcsh as a shell, but don't use it to run scripts. > > /bin/sh is the One True Shell Script Interpreter; heathen bashisms are > just as bad as csh constructs. > > When you can't use a higher-level language (Perubython), use shell > scripts. But stick to plain sh, because if it's useful you'll probably > end up having to convert it to sh anyway. Hmm -- fair answer. I was kind of thinking that on FreeBSD I should maybe do such work in csh as the standard shell, but it occurs to me that I'd probably be pretty hard-pressed to find a FreeBSD system without sh on it. . . . and I *do* use Perubython (or rather, Perubyl) for anything complex enough to use more than one or two conditionals in it. I haven't met a shell (other than one derived from a general purpose programming language) yet that doesn't annoy me beyond that level of complexity for scripting. -- CCD CopyWrite Chad Perrin [ http://ccd.apotheon.org ] John W. Russell: "People point. Sometimes that's just easier. They also use words. Sometimes that's just easier. For the same reasons that pointing has not made words obsolete, there will always be command lines."