Subject: Re: CVS commit: basesrc/bin/ksh
To: NetBSD Userlevel Technical Discussion List <tech-userlevel@netbsd.org>
From: Greg A. Woods <woods@weird.com>
List: tech-userlevel
Date: 10/16/2002 13:23:37
[ On Wednesday, October 16, 2002 at 17:46:02 (+0200), der Mouse wrote: ]
> Subject: Re: CVS commit: basesrc/bin/ksh
>
> >>> ksh may have some issues but it's still lightyears ahead of csh.
> >> This is a matter of opinion.
> > No, it isn't really.
> 
> As stated it gives no hint what the metric in question is, which makes
> it more like "meaningless" than "opinion".

Well, yes, I did assume there was some background meat to the original
statement that implied the claim was based on the evolving language and
its design......

> > Sure there's tcsh, but has it really added anything fundamental
> > (beyond command-line editing, of course) that its users now use
> > widely and agree is essential for all "csh"-like shells?
> 
> Not that I know of - but in my opinion, that weakens, rather than
> strengthens, your argument, because it means that csh is satisfactory
> as it stands, rather than needing constant improvement.

Oh, if only the world were such a simple place!  ;-)

Obviously for your argument to have any meaning we would have to find
some significant numbers of users who are (still?) actively using csh as
an important (to them, at least) and maybe even primary scripting
language.

I am indeed talking about the language since of course the user
interface of the interpreter can be almost trivially re-grafted onto any
interpreter and ksh (and also even NetBSD's /bin/sh) already has a nice
user interface that offers most of what tcsh users clamour for.
Obviously if the old csh user interface were alreayd satisfactory as it
stood then there would have been no need to improve it so drastically as
it was improved in tcsh.  ;-)

I would venture to suggest that you won't find any significant body of
still maintained csh scripts outside those used to configure csh (and
tcsh) directly for their remaining users (i.e. outside of ~/.login and
~/.cshrc files).

You yourself go on to agree that csh is a horrible programming language,
so if it were to be used in any significant way then it could only be
expected that there really would be desparate need for constant and
major improvement in the language.

> csh works very well indeed for its target, interactive use.

The point is that ksh (and in particular pdksh) works even better for
interactive use, as well as at the same time being very suitable for
efficient execution of portable scripts.  After all ksh clearly offers
the best of both worlds!  :-)  [i.e. it has both 'vi' _and_ 'emacs']

As someone else also said in this or a related thread:  The philosophy
of ksh (as opposed to zsh or bash perhaps) is that it provides a
powerful and flexible and easy enough to use programming language that
it can be easily tailored to create a very nice and usable interactive
environment.

-- 
								Greg A. Woods

+1 416 218-0098;            <g.a.woods@ieee.org>;           <woods@robohack.ca>
Planix, Inc. <woods@planix.com>; VE3TCP; Secrets of the Weird <woods@weird.com>