Home
| Calendar
| Mail Lists
| List Archives
| Desktop SIG
| Hardware Hacking SIG
Wiki | Flickr | PicasaWeb | Video | Maps & Directions | Installfests | Keysignings Linux Cafe | Meeting Notes | Blog | Linux Links | Bling | About BLU |
On Wed, 26 Feb 2003 17:19:48 UTC John Chambers <jc at trillian.mit.edu> wrote: > There's a good historic irony here. Bill Joy apparently originally > wrote csh as an improved programming tool, and didn't intend it as an > interactive shell to replace sh. There have been a number of analyses > explaining how he failed on both goals. For any number of reasons, > csh is much more difficult to use as a scripting language than sh. > But the syntax is better than sh's for a human typist. Also, csh > introduced a history mechanism that turns out to be easier on the > human brain than the different one introduced in ksh. So csh and its > clones are widely preferred as an interactive shell, even by people > who write their shell scripts for sh or ksh or bash. CSH presented several important features. History is one. The other is a dual startup configuration: .login for the login shell, executed once. .cshrc for every shell and subshell .logout built-in evaluator. In the Bourne shell, expressions were evaluated by the test(1) command (The left square bracket ([) is a Unix command linked to test. Command line recall. And many more. Virtually all of these were subsequently incorporated into the Korn (and later POSIX) shell. > Of course, there are now even more people who prefer to use perl, tcl > or python when the script grows to a dozen lines or so. These are all > much better programming languages than any of the *sh interpreters. Shell scripts are not intended to be used as programming languages. They are intented to be used for small tasks. The more complex the task the least suited a shell script is. One example of a complex script is lint(1). The lint(1) front end (on Unix) is implemented as a shell script. it provides a wrapper or glue for the lint(1) front end and back end. Perl, Python and TCL are all designed to be used as programming languages. Perl was designed to replace SED and AWK. Complete applications are written in Perl, Python and TCL. BTW: I do not agree with Derek that csh scripting is brain damaged. The intent of the CSH scripting language is that it is similar to the C language where Bourne scripting in much different. I don't think the goal was accomplished. (I personally prefer either KSH or BASH). -- Jerry Feldman <gaf at blu.org> Boston Linux and Unix user group http://www.blu.org PGP key id:C5061EA9 PGP Key fingerprint:053C 73EC 3AC1 5C44 3E14 9245 FB00 3ED5 C506 1EA9 -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: not available URL: <http://lists.blu.org/pipermail/discuss/attachments/20030226/de4fd10f/attachment.sig>
BLU is a member of BostonUserGroups | |
We also thank MIT for the use of their facilities. |