*BSD News Article 71790


Return to BSD News archive

Newsgroups: comp.unix.bsd.freebsd.misc
Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!nntp.coast.net!howland.reston.ans.net!surfnet.nl!news.unisource.nl!xs4all!plm.xs4all.nl!plm
From: Peter Mutsaers <plm@xs4all.nl>
Subject: Re: FreeBSD cmd line editor / text editor recommends?
X-Newsreader: Gnus v5.2.22/Emacs 19.31
Sender: plm@plm.xs4all.nl
Organization: My Unorganized Home
Lines: 55
Message-ID: <87yblfnhvd.fsf@plm.xs4all.nl>
References: <4psnen$p9h@hermes.athenet.net> <87g27wffhr.fsf@plm.xs4all.nl>
	<4qgne5$q31@uriah.heep.sax.de>
Date: Sun, 23 Jun 1996 06:40:06 GMT

>> On 22 Jun 1996 12:03:17 GMT, j@uriah.heep.sax.de (J Wunsch) said:

    JW> Peter Mutsaers <plm@xs4all.nl> wrote:

    >> Whatever you choose, I'd *not* use a csh-like shell (like
    >> tcsh). The csh has a completely different syntax. Usually shell
    >> scripts are written for the Bourne shell or the Korne shell
    >> (ksh). It is nice if your interactive shell uses the same
    >> syntax.

    JW> The latter (and since you need it to prove your stated
    JW> opinion, the former claim as well) is a ``YMMV'' item.  I
    JW> personally fail to see why using a different shell for
    JW> interactive work (tcsh) than for scripting (sh) should cause
    JW> me any problems.  Actually, i used to do it this way for years
    JW> now.  Both languages are far from being the only computer

Yes, if you've been doing that for years then its logical. Doing what
you're used to is always the easiest. Years ago it made good sense to
start using csh-like shells because they offered features (kind of
command line editing) not available in /bin/sh. But when starting with
shells it is better to use shells with only 1 basic
syntax. /bin/sh-derived shells nowadays offer all features that
/bin/csh-like shells have, so there's no need to burden yourself with
2 syntaxes.

    JW> languages i know about, and i tend to write larger scripts in
    JW> Perl instead anyway since it's more efficient.  Once i
    JW> finished learning Tcl, i think i will also often find
    JW> occasions where this would fit better.

I've written quite a lot in perl and tcl (even a large commercial app in
tcl/tk) but often it is better to use the shell, even when it is less
structured and slower. The reason: /bin/sh (and sed, awk, etc) exist
everywhere. When I come in some company to help then and make some
tools, I don't want to make them depend on lots of other tools (many
companies even won't allow me because they don't want Free software,
even when it's better). For a specific purpose or application it may
be right to use Perl or whatever non-standard thing, but in general
only universally available stuff (sh, awk, sed,....) should be used.

So one will have to learn /bin/sh syntax anyway.

    JW> Of course, this is so much a matter of personal taste that
    JW> it's useless to recommend either of them in Usenet.  But it's
    JW> also useless to think you have to warn users to not use a csh
    JW> or compatible one, for the only reason that this is _your_
    JW> decision.  It's about in the same boat as warning users to not
    JW> use Linux, since this was just your decision...

I warned this person against using csh-like shells, but not because
it's my decision. It is an objective and good advice (I didn't even
mention the weak points of csh syntax as compared to sh syntax as you
might know from the 'csh considered harmful' article that was posted
regularly by someone on Usenet).
-- 
______________________________________________________________________
Peter Mutsaers       |  Abcoude (Utrecht), |     "Quod licet bovis,
plm@xs4all.nl        |  the Netherlands    |      non licet Jovi."