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