From: toon@moene.indiv.nluug.nl (Toon Moene)
Newsgroups: comp.lang.fortran
Subject: Re: Scientists as Programmers
Date: 27 Aug 92 20:57:38 GMT
Organization: Moene Computational Physics, Amsterdam, The Netherlands

In article <1992Aug27.155835.27972@nrao.edu> cflatter@nrao.edu (Chris  
Flatters) writes:

[ ... Is FORTRAN, or the average scientist using this language, to
      blame for the vast amount of bad, impossible to maintain code
      produced ? ...]

> 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.

Sorry, Chris, in circles of professional programmers, 'casual user' or  
'casual programmer' is as disparaging as 'amateur user or programmer' - it  
simply means the same. I belonged to the group of professional programmers  
for nine years, returning to physics only the last year.

> 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.

I also don't agree with this. Someone who has been a professional  
programmer can't forget to use all kinds of 'proven code' - in whatever  
language. In the code written by the scientists surrounding me I so often  
see things 'that just work in this case and in this case only' that  
'debugging' becomes very easy :-)

> 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.

And still, some are doing better than others - I'm sorry, but as far as I  
can see, it's simply a question of: who is chaotic and who's not. The  
people that can't organize papers, talks and their work in general, also  
can't program, period. Unsafe in any language. Of course, FORTRAN helps a  
lot here: inventing variables on the fly, being able to name entries in a  
common block differently in each and every subprogram, being deliberately  
sloppy about the extent and number of dimensions of arrays across  
subprogram calls, having no way of detecting inconsistent use and  
declaration of argument lists to subprograms, etc.

--
Toon Moene (toon@moene.indiv.nluug.nl)
Kantershof 269, 1104 GN  Amsterdam, The Netherlands
Tel.: + 31 20 6982029; Fax: + 31 20 6003411
No Disclaimers; a NeXT at home protects against this occupational hazard.
Newsgroups: comp.lang.fortran