home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #19 / NN_1992_19.iso / spool / comp / misc / 3407 < prev    next >
Encoding:
Text File  |  1992-08-29  |  12.0 KB  |  240 lines

  1. Newsgroups: comp.misc
  2. Path: sparky!uunet!elroy.jpl.nasa.gov!sdd.hp.com!caen!hellgate.utah.edu!lanl!cochiti.lanl.gov!jlg
  3. From: jlg@cochiti.lanl.gov (Jim Giles)
  4. Subject: Re: Giles' Manual Mania (Was - Re: About the 'F' in RTFM)
  5. Message-ID: <1992Aug29.004510.28182@newshost.lanl.gov>
  6. Sender: (null)@(null) ((null))
  7. Organization: Los Alamos National Laboratory
  8. References: <1992Aug27.020832.23988@newshost.lanl.gov> <1992Aug27.192610.12441@wixer.cactus.org> <1992Aug28.005710.1989@newshost.lanl.gov> <1992Aug28.174336.5888@wixer.cactus.org> <1992Aug29.002002.25001@newshost.lanl.gov>
  9. Date: Sat, 29 Aug 1992 00:45:10 GMT
  10. Lines: 228
  11.  
  12.  
  13. In article <1992Aug28.174336.5888@wixer.cactus.org>, rhodesia@wixer.cactus.org (Felix S. Gallo) writes:
  14. |> [...]
  15. |> Nobody's forcing you to use sed and awk at the same time.  In fact, if
  16. |> you like, you can delete awk from your disk and just use sed.  [...]
  17.  
  18. Well, since I (like everyone else) spend most of my time using
  19. other-people's-code, I have to learn *both* sed *and* awk to
  20. work on UNIX - as well as a huge number of other tools with
  21. largely overlapping functionality - yet which are each mutually
  22. inconsistent in how that overlapping functionality is done.
  23. I don't personally have anything much that I need any of these
  24. tools for.  But, I have to know them in order to understand
  25. and use what others have done (because no one bothers to document
  26. their scripts and/or make scripts they distribute robust).
  27.  
  28. The choice is to use the UNIX environment (and *have* to learn
  29. how all that stuff works) or to use a different environment in which
  30. well integrated tools are sufficiently capable that everyone uses
  31. the same ones - and you only need to learn *one* tool for each 
  32. functionality.
  33.  
  34. The truth is that, as you say, I don't have to use either sed *or* 
  35. awk: and I *don't* (for my own stuff).  I still have to *know* both 
  36. in order to be a UNIX user.  So does every one else who uses UNIX.
  37.  
  38. |> [...]
  39. |> >The /bin/rc I have access to is part of the system boot sequence and is 
  40. |> >not a part of the naive user envoronment at all.  What relevance to does 
  41. |> >it have to a discussion about user-level tools?  I'm talking about tools
  42. |> 
  43. |> /bin/rc on most sane, happy computer systems is the RC shell, written I
  44. |> believe by Rob Pike et al.  It provides a very small, very compact and
  45. |> elegant C like shell which starts up, on my computer, in about .3 realtime
  46. |> seconds.  By comparison, X takes about 3 minutes.  Maybe you're confusing
  47. |> /etc/rc with /bin/rc?
  48.  
  49. There is only *one* utility called rc on my SunOS machine.  It 
  50. sounds, however, as if you're agreeing with me - you are recommending
  51. an environment *different* from the one which is conventionally bundled
  52. with UNIX.  One that is better integrated, fast, and (I hope) better
  53. documented.  Good for you.  And thanks for the confirmation that I'm
  54. right.
  55.  
  56. I don't *insist* that alternatives to the usual UNIX environment be
  57. GUI's, they can actually be *anything* and probably still be an 
  58. improvement.  By recommending something that is *not* the UNIX bundled
  59. environment, you are supporting my position.
  60.  
  61. |> [...]
  62. |> Difficulty of learning was not the topic.  [...]
  63.  
  64. Yes it was!!  That's the basis of the subject line of this thread.
  65. Don't instruct *me* about the topic of a thread with *my* name in 
  66. the subject line (:-).
  67.  
  68. The topic is: ease of use - and in particular - ease of *learning*
  69. the usual UNIX bundled environment.  We aren't discussing the kernel,
  70. add-on tools like perl or rc, or anything like that (and which might
  71. just as well be on some other system).  We are talking about the tools 
  72. which are in the UNIX command reference manual (all the things with the 
  73. (1) mark on their man pages) and have been essentially unchanged for 
  74. more than a decade now.  Are the tools mutually consistent, clean, 
  75. orthogonal, compatible, etc.?  And we are discussing that document - 
  76. is is easy to read, understand, find stuff in?   I say no.
  77.  
  78. |> [...]                                     Orthogonality was the topic.
  79.  
  80. That's one of the important components of making something easier to
  81. learn.
  82.  
  83. |> You claimed that these commands do not pipe together, and that they do
  84. |> things in different ways -- I presented a list of commands which not only
  85. |> pipe together, but together form an extremely powerful development environment,
  86. |> given correct selection.
  87.  
  88. Development of *what*?  The tools you mentioned mostly only do text 
  89. manipulation.  Very little of computing is text manipulation.  Much 
  90. more is word processing (which the tools you listed *aren't* all that 
  91. easy to learn and use for).  The vast majority is neither text nor 
  92. word processing.  Yet, in order to use UNIX, no matter *what* you do, 
  93. you must learn a large percentage of all those tools - even if they're 
  94. *completely* irrelevant to your real job.
  95.  
  96. Meanwhile, try piping C source code through your favorite example: sed.
  97. Sed is a line oriented tool and will foul-up royal with C source since
  98. line boundaries are *just* whitespace to C.  Any pattern you're trying to 
  99. filter which the author of the C source *happened* to split across a line
  100. feed will be missed by sed.  This looks like a pipeline incompatibility 
  101. to me.
  102.  
  103. |> [...]
  104. |> Years of reality have proven you wrong.  UNIX is really *great* for
  105. |> systems tools, but it does other things very well as well.  It might not
  106. |> do what you want it to do, but you're perfectly free to buy another OS
  107. |> and not get upset over UNIX, you know.
  108.  
  109. No, I'm not free to buy what I want.  I work on what the management buys
  110. off on.
  111.  
  112. |> 
  113. |> >Supercomputers, parallel syatems, etc. are not appropriate for a
  114. |> >minicomputer-level development systems.
  115. |> 
  116. |> Parse error near "parallel syatems, etc."
  117.  
  118. Huh?  UNIX has *NO* features which are even *relevant* to parallel
  119. processing.  Like many other system, such features are being 
  120. experimentally *added*.  UNIX has no particular advantages in 
  121. this area.  Fortunately, most such features relate to the kernel 
  122. and the languages, so the question is independent of the topic of 
  123. this thread - which is the ease of learning the bundled UNIX software 
  124. tools.  However, while I'm doing the difficult work of parallelizing codes, 
  125. I'd just as soon not be constantly distracted by all the `gotchas' of 
  126. the UNIX environment.
  127.  
  128. |> [...]
  129. |> >In the 25 years I've been programming, the only system I remember
  130. |> >to *compare* with the difficulty of learning and using UNIX is OS/360.
  131. |> >And for the same reasons: *lots* of arcane trivia and poorly organized
  132. |> >manuals.  The terms `arcane' and `user friendly' are mutually exclusive.
  133. |> >UNIX is arcane.
  134. |> 
  135. |> Given.  So are most important professional products.  Tried to use
  136. |> FrameMaker without looking at the manual set yet?
  137.  
  138. Never even looked at the manual on the word processor I have at home - it
  139. produces documents easily (in a few minutes) that it would take *days* 
  140. just to learn *how* to do on troff, eqn, tbl, et. al..  And it's just a 
  141. cheap off-brand processor that someone gave me (ETG I think it's called).
  142. Want to change fonts?  No funny directives with periods in the first
  143. column and a requirement that I look up the font catalog for the name
  144. (or whatever troff makes you do): just select the font entry in the menu 
  145. and select the specific font I want.  Want to center text?  Select the 
  146. formatting menu item and then select the entry for centering - no funny 
  147. dots in the first column, etc..  Want your spelling checked?  No need
  148. to pipe through a separate tool, it beeps and presents a menu box of
  149. alternative spellings automatically.  
  150.  
  151. Similar tools from other vendors have similar properties and can 
  152. send output to film, slides, all common printers etc. and/or convert 
  153. documents to TeX or Postscript if that's your fancy.
  154.  
  155. Sure, these tools differ from *each other*, but individual users
  156. only have to learn their favorite - which is easy.  They can share 
  157. documents because these tools include the capability to read and/or 
  158. write mutually compatible intermediate formats (like TeX and Postscript)
  159. or they should!  (Actually most do support at least one of those forms now.) 
  160.  
  161. Are troff, eqn, tbl, et al more powerful?  No, they take longer to
  162. learn than word processing functionality - in its entirity - is worth
  163. to me.  Something I don't use is *not* powerful - no matter *what* 
  164. features it has.  The other word processors take a few *minutes*
  165. to begin using productively and the menus *lead* you through any
  166. of the arcane stuff.  There is no reason such an interface cannot
  167. be built on *top* of troff, eqn, tbl, etc., but I've never seen it
  168. done - probably because *other* integrated tools exist which are
  169. already *better* than the UNIX bundled tools and are even available
  170. on UNIX if you insist.
  171.  
  172. |> [...]
  173. |> Actually, you've been claiming that UNIX is archaic, arcane, useless,
  174. |> built from improper tools, non-orthogonal, incomprehensible, worthless,
  175. |> huge, bloated, hard to learn, poorly documented, and out of date.  There
  176. |> is a world of difference.  Hundreds of thousands of people use UNIX daily
  177. |> and are quite happy about it.  [...]
  178.  
  179. Millions of people drove Model T's for years and were very happy with
  180. them.  In fact, they're free to continue to drive them as far as I'm
  181. concerned.  As long as they don't make *me* drive one; as long as they 
  182. put proper modern mufflers on them so I don't have to hear about it; and 
  183. as long as they meet modern pollution control requirements.
  184.  
  185. The analog of the muffler and pollution control requirements in UNIX
  186. are: stop telling non-UNIX users that everything they do is wrong
  187. and stop claiming UNIX has clear advantages when it's really just 
  188. a matter of opinion whether it's even *good* or not.
  189.  
  190. Claims about convenient piping through sed are irrelevant to whether
  191. you can parallelize a lattice guage theory code or not.  In fact, the
  192. difficulty of sed distracts from that other topic - because using UNIX
  193. does not afford the luxury of NOT learning things you don't care about.
  194.  
  195. |> [...]
  196. |> Unfortunately, you also seem to think that the only environment UNIX is
  197. |> sufficient for is systems design. [...]
  198.  
  199. *I* wouldn't use it for systems design.  I would prefer to use a well
  200. designed language (like, say, Turing) for systems design and this is
  201. discouraged by the way UNIX is structured.  Systems designers can use
  202. whatever they want though, as long as they don't insist I have to use
  203. the same thing they did when they present me with their finished product.
  204.  
  205. |> [...]
  206. |> Let me relate to you a little story:
  207. |> 
  208. |> A man comes in to a massive warehouse.  Mechanics are hurrying back and
  209. |> forth, working on enormous pieces of machinery.  Huge cranes ferry molten
  210. |> iron vats from one end to the other.  Overseers chart the progress of their
  211. |> factory from catwalks above.  The entire right wall of the factory is covered
  212. |> with tools -- Allen wrenches, 5.2" socket bitwisters, screwdrivers, ice
  213. |> mallets, lathe press drill molds, shearing tweezers -- all alphabetically
  214. |> organized, all within easy reach.  Bulldozers and tractors move concrete 
  215. |> blocks with precision into the assembly lines.
  216. |> 
  217. |> The man complains, "hey!  None of this can balance my checkbook!"
  218.  
  219. Yes.  But no one is lobbying his management with claims that all
  220. that stuff *can* balance his checkbook!  And no one in congress
  221. has passed laws that National Science Foundation money cannot
  222. be given to anyone who uses something *else* for checkbook balancing.
  223.  
  224. Further, the analogy to UNIX is more clear when you realize that 
  225. alphabetization of the tools is a poor way to organize them - just 
  226. like the UNIX tools are poorly organized.  They should be organized 
  227. by function.  There is no *subject* index for the UNIX documentation 
  228. set!  Nor is the documentation ordered by functionality.  The documents 
  229. are ordered alphabetically by the tool name.  So, you can't find the 
  230. tool which does what you need done unless you know its *NAME* already!
  231. (Gee, if I already knew what I was looking for, I wouldn't need to look.)
  232.   
  233. Try doing `man -k slides' sometime.  I get `slides: nothing appropriate' 
  234. even though I *know* my workstation has several tools for making all 
  235. sorts of film images - including slides - and even though I *know* 
  236. the man pages for these tools are online.
  237.  
  238. -- 
  239. J. Giles
  240.