Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!linus!decvax!harpo!floyd!cmcl2!philabs!rdin!perl From: perl@rdin.UUCP (Robert Perlberg) Newsgroups: net.flame Subject: Re: csh question Message-ID: <329@rdin.UUCP> Date: Sat, 15-Oct-83 07:53:09 EDT Article-I.D.: rdin.329 Posted: Sat Oct 15 07:53:09 1983 Date-Received: Sun, 9-Oct-83 19:29:07 EDT Lines: 54 cFb* (continued from net.unix-wizards) The C shell has a lot of nice features, especially on systems with job control, but why does it have to be so lame in the areas of: multi-line constructs from the terminal, nested foreach's from the terminal, matching of quotes and parens, trapping signals, escaping meta-characters, nesting just about anything, variable assignments, and so on? It's plain to me that the reason for writing the C shell is that someone figured that it would be easier for UNIX programmers to use the same language in the shell as they use in their programs. There are a number of bogosities in this reasoning: The C syntax, while it may be fine for a high level description of machine code, does not provide an effective interface to an operating system. While some programmers may prefer to use the same syntax in the shell as in their programs, it makes an already user-adversary system even more unusable by non-programmers. At the most recent USENIX conference, a vote was taken which determined that most C shell users write their shell scripts in the Bourne shell. I am not flaming about having a shell with a C syntax. You could have a shell with an APL syntax for all I care; just as long as I am not forced to use it. The problem is that someone seems to have decided that the C shell is the only shell worth developing. Why can't the Bourne shell have features like history, alias, unset, setenv, notify, and best of all, job control? There is absolutly nothing about these features which is dependent upon the C syntax. In fact, these features would work even better in the Bourne syntax! I use the C shell for the job control capability. Any time I want to do anything involving multiple lines, signal trapping, nesting, quoting, or anything like that, I escape to the Bourne shell. Robert "Bourne again" Perlberg Resource Dynamics Inc. New York philabs!rdin!perl