home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.lang.fortran
- Path: sparky!uunet!gatech!darwin.sura.net!uvaarpa!cv3.cv.nrao.edu!laphroaig!cflatter
- From: cflatter@nrao.edu (Chris Flatters)
- Subject: Re: Scientists as Programmers (was Re: Small La
- Message-ID: <1992Aug27.155835.27972@nrao.edu>
- Sender: news@nrao.edu
- Reply-To: cflatter@nrao.edu
- Organization: NRAO
- References: <1992Aug26.192410.6523@ultb.isc.rit.edu>
- Date: Thu, 27 Aug 1992 15:58:35 GMT
- Lines: 58
-
-
- In article 6523@ultb.isc.rit.edu, jsvrc@rc.rit.edu (Doctor FORTRAN) writes:
- >In article <1992Aug25.154501.8654@colorado.edu> ejh@khonshu.colorado.edu (Edward J. Hartnett) writes:
- >
- >> [. . . . ] I think that
- >>what you are seeing is not that FORTRAN lends itself to rotten code,
- >>but that scientists usually write bad code, in whatever language they
- >>use. No offense to scientists, but I have rarely if ever seen a
- >>scientist who was a good programmer.
- >
- >Then you haven't met Dr. FORTRAN. :-) Seriously, there are scientists who
- >write good code, and there are those who write bad code. Going by my personal
- >experience, I would imagine that at least some of the scientists who write
- >good code have in the past written bad code that came back to haunt them.
- >
- >Nevertheless, you do have a point. Software specialists will argue about the
- >best data structure to use for a problem, and still be trying to dope it out
- >while the scientist has the whole thing already coded. That's because the
- >scientist will see the program as what it truly is: a means to an end, rather
- >than as an end unto itself. If computing is an end unto itself, it cannot
- >be of practical consequence. (Didn't Hamming like to say that the purpose of
- >computing was insight, not numbers?) But I must disagree when you characterize
- >scientists as bad programmers. That's bigotry, and a stereotype to which I
- >must strenuously object.
- >
- >I thank you.
- >
- >Doctor FORTRAN
-
-
- In "The Psychology of Computer Programming" Gerald Weinberg divided
- programmers into two classes, professionals and amateurs (pp122-125).
- In his terms most scientists are amateur programmers (I would actually
- prefer to use the term casual programmers, which avoids the somewhat
- derogatory implications of amateurism). They write programs mainly for
- their own use and often only for a limited number of runs while a
- professional writes programs that other people are expected to use.
-
- The casual programmer can get a program up and running faster than a
- professional because he can avoid dealing with many issues of software
- quality: he doesn't expect to get people beating on his door to
- complain that an error message or that certain inputs caused his
- program to dump core. A software specialist has to (or, perhaps more
- realistically, should) bother about the convenience of the user who
- will not know the internals of the program. The casual programmer
- doesn't need to bother about this and may be somewhat bewildered at the
- time and effort software specialists spend planning a program before
- they write it.
-
- This isn't intended to belittle casual programmers. They have a different
- set of priorities from software specialists and so tend to work in different
- ways. There is, however, a widespread problem in scientific computing:
- casual programmers are often dragooned into writing software for other
- people to use. This is asking for trouble unless they are willing to
- change their programming habits.
-
- Chris Flatters
- cflatter@nrao.edu
-