home *** CD-ROM | disk | FTP | other *** search
- Xref: sparky comp.edu:1490 comp.lang.fortran:3384 comp.lang.misc:2895 comp.arch:9177 sci.math:10885
- Path: sparky!uunet!sun-barr!cs.utexas.edu!sdd.hp.com!network.ucsd.edu!lyapunov.ucsd.edu!mbk
- From: mbk@lyapunov.ucsd.edu (Matt Kennel)
- Newsgroups: comp.edu,comp.lang.fortran,comp.lang.misc,comp.arch,sci.math
- Subject: Re: Scientists as Programmers (was Re: Small Language Wanted)
- Date: 2 Sep 1992 19:50:02 GMT
- Organization: Institute For Nonlinear Science, UCSD
- Lines: 64
- Distribution: na
- Message-ID: <1835taINNflg@network.ucsd.edu>
- References: <1992Sep2.192555.20857@crd.ge.com>
- NNTP-Posting-Host: lyapunov.ucsd.edu
- X-Newsreader: Tin 1.1 PL3
-
- davidsen@ariel.crd.GE.COM (william E Davidsen) writes:
- : In article <180heaINN60q@network.ucsd.edu>, mbk@lyapunov.ucsd.edu (Matt Kennel) writes:
- :
- : | Specifically, we don't *know* what the eventual task will be or whether
- : | a programs a 'throwaway' or a 'keeper'.
- : |
- : | I write something slap dash and some intriguing results come out, and then
- : | we start to pursue that line further and all of a sudden the little
- : | throwaway code starts mutating into a monster, especially when my boss puts
- : | another student on the project. And at any time you still don't know whether
- : | "this is the last modification" or whether it will be hanging around for
- : | a long time.
- : |
- : | When new results are coming out, its an awfully hard sell to my boss who's a
- : | physicist not a software engineer to say "why don't I spend 2 months
- : | rewriting this from scratch so it will do the same thing as it does now".
- :
- : That's why a programmer should do it. It doesn't take longer to write
- : a salvagable "throw together" than a rats nest, you use a few modules in
- : the obvious places and comments to show where error checking would go,
- : and stuff like that.
-
- I try. I'm more attuned to these issues than most of my colleagues, but
- in general practice there's a problem, I admit. (Some of my new codes I've
- written well enough to put out for public consumption but not all of
- my old ones).
-
- It's the human "bandwidth" between programmer and scientist that's the
- problem here. I'll stick to my personal experience: my adviser and I
- are talking about our previous runs and we think of things to do. The
- discussion is in terms of "why don't we now rotate into the coordinate
- axes defined by the first D principal components locally instead of
- projecting down in the original coordinate system" and I go translate
- that into code.
-
- It would take quite a long time (and cost money that we simply don't have)
- to explain enough of the science to a programmer before it would be useful
- to hire one. (Don't take that last example too literally---most
- programmers would understand that one)
-
- The bottom line is the ratio between required new programming and new
- science. If it's not very high, the scientists will roll their own.
-
- Scientists communicate their thinking via published papers, not programs,
- and it's usually easier to read their papers (unless it's in something
- cryptic like Phys Rev Lett) and hire a grad student to write up the code,
- then try and fix one of theirs.
-
- : That and comments, good programmers use a few comments in even the
- : fastest program, if only so they can throw it out later knowing what it
- : is. A program can always be expanded later in minimal time without
- : "doing everything right," as long as you don't do anything wrong.
-
- They don't know that they're doing anything wrong.
-
- : --
- : bill davidsen, GE Corp. R&D Center; Box 8; Schenectady NY 12345
- : I admit that when I was in school I wrote COBOL. But I didn't compile.
-
- --
- -Matt Kennel mbk@inls1.ucsd.edu
- -Institute for Nonlinear Science, University of California, San Diego
- -*** AD: Archive for nonlinear dynamics papers & programs: FTP to
- -*** lyapunov.ucsd.edu, username "anonymous".
-