home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / comp / unix / shell / 3122 < prev    next >
Encoding:
Internet Message Format  |  1992-07-25  |  3.6 KB

  1. Path: sparky!uunet!cis.ohio-state.edu!rutgers!uwm.edu!caen!sol.ctr.columbia.edu!The-Star.honeywell.com!umn.edu!noc.msc.net!news.stolaf.edu!news.stolaf.edu!quanstro
  2. From: quanstro@lars.StOlaf.edu (goon)
  3. Newsgroups: comp.unix.shell
  4. Subject: And the user cried, Features, features MORE featurs!
  5. Message-ID: <QUANSTRO.92Jul24134625@lars.StOlaf.edu>
  6. Date: 24 Jul 92 17:46:25 GMT
  7. References: <yeates.711917604@beryl17> <2A702840.22262@noiro.acs.uci.edu>
  8. Sender: news@news.stolaf.edu
  9. Distribution: comp.unix.shell
  10. Organization: St. Olaf College, Northfield, MN USA
  11. Lines: 63
  12. In-Reply-To: cedman@714-725-3165.nts.uci.edu's message of 24 Jul 92 15:56:48 GMT
  13.  
  14. In article <2A702840.22262@noiro.acs.uci.edu> cedman@714-725-3165.nts.uci.edu (Carl Edman) writes:
  15.    That is the biggest problem of tcsh - it is compatible with csh which means  
  16.    that it has almost all the csh brain damage.
  17.  
  18. Amen.
  19.  
  20.    ...
  21.  
  22.    > ... is this something special or just another free shell?
  23.    > Whats the associated programming language like?  (If its
  24.    > not Bourne Shell, ksh, REXX, perl or csh compatible -
  25.    > forget it, there are too many shell language
  26.    > alternatives already!)
  27.  
  28. *
  29.  
  30.    Combines the best of all imaginable worlds by having almost all the interactive  
  31.    features of tcsh (only the most fancy custom command line completion stuff  
  32.    introduced in the most recent tcsh is not in zsh yet) in addition to many  
  33.    useful ones of its own. But it is based on sh/ksh, not csh which means that it  
  34.    is can also be used for programming tasks.
  35.  
  36. Please excuse the religion, but ...
  37.  
  38. I would argue that "combining the best of all imaginable worlds" is
  39. not possible. Having zillions of featues may be in some respects an
  40. Asset, but it is also a liablity because
  41.  
  42. (1) features increase the size of the program making it difficult to
  43.     write and then debug and also resource-intensive at run time. 
  44.  
  45.     On the other hand, a smaller language/system wwith no more than the
  46.     basic set of facilities (and perhaps the essential creature
  47.     comforts) is much easier to write, debug and makes fewer demands
  48.     of the system under which it runs. (Or, if it is the system,
  49.     leaves more resources available for the applications.)
  50.  
  51. (2) more features makes the language harder to utilize. One of the
  52.     chief motivations for RISC architectures was the difficulty of
  53.     implementing a compiler that actually used the "arbitrary-
  54.     mode addressing" capibility of a VAX. Not many people use  '^' as
  55.     a synonym for '!' with /bin/sh and I suppose that equally few
  56.     people change $histchars (which is normally '!') in /bin/csh or
  57.     use its ability to do a one's complement or left or right shift.
  58.  
  59.     On the other hand, a minimal system gets close to 100% usage by
  60.     most users and it becomes harder for the system to develop "dark
  61.     corners" or misfeatures. More telling, a minimal system's poor
  62.     design tends to show itself quickly and be fixed by a redesign
  63.     (which should not be too difficult is a small system) whereas a
  64.     heavily featured language tends to get "fixed" by by adding even
  65.     more features which are supposed to make up for deficient features
  66.     in the original design. [unfortunately even good software can grow
  67.     this manner. Witness Unix IPC.]
  68.  
  69. (3) features often interact poorly with each other. Given a language
  70.     with n features, there are, at worst, n! possible interactions between
  71.     features. Csh has something like 20 history constructs (including
  72.     modifiers), which is probablly why Bill Joy did not catch all the
  73.     bugs (Read csh-whynot).
  74.  
  75.     Reducing the number of features tends to minimize the number of
  76.     interactions.
  77.