home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #20 / NN_1992_20.iso / spool / sci / math / 11447 < prev    next >
Encoding:
Text File  |  1992-09-14  |  2.9 KB  |  62 lines

  1. Newsgroups: sci.math
  2. Path: sparky!uunet!cs.utexas.edu!sun-barr!ames!data.nas.nasa.gov!wk223!asimov
  3. From: asimov@wk223.nas.nasa.gov (Daniel A. Asimov)
  4. Subject: Re: My programming experiences
  5. References: <BuL0HD.6zx@ux1.cso.uiuc.edu>
  6. Sender: news@nas.nasa.gov (News Administrator)
  7. Organization: NAS, NASA Ames Research Center, Moffett Field, CA
  8. Date: Tue, 15 Sep 92 00:46:11 GMT
  9. Message-ID: <1992Sep15.004611.2106@nas.nasa.gov>
  10. Lines: 50
  11.  
  12. In article <BuL0HD.6zx@ux1.cso.uiuc.edu> ceblair@ux1.cso.uiuc.edu (Charles Blair) writes:
  13. >
  14.     [...]
  15. >
  16. >   Even though I haven't really learned it, I can see that there is a skill
  17. >in programming that goes beyond a clear understanding of the algorithm one
  18. >is trying to implement.  Perhaps those who are curious about this might
  19. >look at Kernighan's ELEMENTS OF PROGRAMMING STYLE (examples mostly in Fortran).
  20. >If you can guess what the criticisms of the examples will be before reading
  21. >the commentary, you already know quite a lot!  (the examples are taken from
  22. >programming texts, indicating that the authors make mistakes too)
  23.  
  24. Oh, what the heck, here's something about my programming experiences, too:
  25.  
  26. I've been programming for roughly 12 years (although not always full-time). 
  27. For quite a while I was a pretty terrible programmer.  I was sloppy and 
  28. undisciplined, and always seeking "shortcuts" that would save me typing
  29. (I was also a terrible typist) but which cost me untold hours of debugging time 
  30. as a result.
  31.  
  32. Over the years I believe that I have become a fairly decent programmer.  Quite 
  33. far from a super ace hacker, but fairly decent.  How did this happen?  
  34.  
  35. The answer, I think, is in all the negative feedback I got from the many, many 
  36. bugs that I encountered.  After causing the same bug for the umpteenth time due to 
  37. poor programming discipline, one is motivated to avoid the pain and misery the next 
  38. time.  (I think a lot of wiser people than myself would have heeded much sooner
  39. the good advice found in books such as Kernighan's, rather than learn the hard way.)
  40.  
  41. Another thing that I believe helps tremendously, is that most of the bugs that
  42. I'm ever going to have, I've already had at least once by now.  So it is far
  43. easier to recognize their symptoms than it was before I had ever seen them.  (Also
  44. important is that, by now, I am not nearly as terrible a typist as I used to be.)
  45.  
  46. In the early days, after failing to find a particularly tricky bug I would actually 
  47. suspect, on some level, that the machine was being deliberately malicious. This 
  48. attitude was, needless to say, counterproductive.
  49.  
  50. At some point my experience of programming crossed over from a maddening struggle 
  51. with an incalcitrant and possibly spiteful machine, to a pleasant creative
  52. experience (which necessarily involves a certain amount of drudge work, but well 
  53. worth it).
  54.  
  55. --Dan Asimov
  56. asimov@nas.nasa.gov
  57.  
  58. Mail Stop T045-1
  59. NASA Ames Research Center
  60. Moffett Field, CA 94035-1000
  61. (415) 604-4799
  62.