home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #26 / NN_1992_26.iso / spool / comp / unix / wizards / 4666 < prev    next >
Encoding:
Internet Message Format  |  1992-11-14  |  3.3 KB

  1. Xref: sparky comp.unix.wizards:4666 comp.unix.shell:4682 comp.unix.misc:4148
  2. Path: sparky!uunet!ferkel.ucsb.edu!taco!gatech!emory!ogicse!news.u.washington.edu!carson.u.washington.edu!donn
  3. From: donn@carson.u.washington.edu (Donn Cave)
  4. Newsgroups: comp.unix.wizards,comp.unix.shell,comp.unix.misc
  5. Subject: Re: The Problem with UNIX
  6. Message-ID: <1992Nov13.180132.141@u.washington.edu>
  7. Date: 13 Nov 92 18:01:32 GMT
  8. Article-I.D.: u.1992Nov13.180132.141
  9. References: <1992Nov12.193707.27532@chpc.utexas.edu> <1992Nov13.104731.29328@aston.ac.uk>
  10. Sender: news@u.washington.edu (USENET News System)
  11. Organization: University of Washington
  12. Lines: 50
  13.  
  14. evansmp@uhura.aston.ac.uk (Mark Evans) writes:
  15.  
  16. |michael@chpc.utexas.edu (Michael Lemke) writes:
  17. ...
  18. |: Well, fixing typos is neat but it is not the essential problem.  My
  19. |: main complaint about Unix on the user interface level is that there is
  20. |: no command line interpreter.  What I mean is that after the shell munged
  21. |: your command line it is *completely* up to the program to interpret the
  22. |: command line and there is no system function available to parse even
  23. |: these `standard' options. ...
  24.  
  25. | Could you say what operating system has this feature.
  26. | (DOS dos the same, what does VMS do?)
  27. | Also how the programmer is ment to use it.
  28. | Does this belong in the operating system (thus resulting in command line
  29. | options sitting in the PCB, yuck!! add a new 'standard' option rebuild 
  30. | the system)
  31.  
  32. VMS does in fact have a command interpreter, DCL.  From a programmer's point
  33. of view, it's a callable system interface that yields up the parsed command
  34. line.  From the user's point of view, it's a fairly regular command language
  35. with consistent rules about abbreviations and optional parameters.
  36. Unfortunately, it's pretty weak as a programming language, but it does have
  37. "lexical functions" built in to do things like parse file names and wildcards,
  38. get system information of various kinds and do some text manipulation.
  39.  
  40. I'm not strong on VMS internals, but I don't think the command line goes
  41. into a PCB, but rather is stored in a DCL supervisor area per user - VMS
  42. may be a little more complex than UNIX in this respect.  There's a command
  43. history, which presumably is also stored there.  Changing the command set
  44. does not require rebuilding the system, and users may adopt their own
  45. command tables or add their own customizations.  Updating the command table
  46. can be problem, since the change doesn't affect current jobs, but that's
  47. an implementation issue.
  48.  
  49. Probably the biggest issue for the programmer is that DCL doesn't expand
  50. wild cards.  VMS applications expand wild cards using file system services,
  51. which is much harder programming work but gives you a lot more control over
  52. the semantics of the operation, as opposed to (int argc, const char **argv).
  53. For example, one may use the file specification in one parameter to supply
  54. defaults for the specification in another parameter, further controlling
  55. whether the defaults are to be applied using output (new) file or input
  56. (old) file semantics.  That makes "RENAME *.C .C-DIST" a natural idiom in
  57. VMS, where in UNIX the same operation ("how do I rename a group of files")
  58. regularly generates questions on this news group.  It does however mean
  59. that applications accept wild cards only if the programmer invested the
  60. time.
  61.  
  62.     Donn Cave, University Computing Services, University of Washington
  63.     donn@cac.washington.edu
  64.