From: hallam@zeus02.desy.de (Phill Hallam-Baker)
Subject: Re: Scientists as Programmers (was Re: Small Language Wanted)
Followup-To: alt.folklore.computer
Reply-To: Hallam@zeus02.desy.de
Organization: Deutsches Elektronen Synchrotron, Experiment ZEUS bei HERA
Date: Fri, 11 Sep 1992 00:30:53 GMT

In article <id.VOYS.YED@ferranti.com>, peter@ferranti.com (peter da silva)
writes:

|>In article <1992Sep2.133810.24957@newsroom.bsc.no> izahi@bsc.no (Raul Izahi
|>Lopez Hernandez) writes:
|>>    A good compiler and a good optimizer can help any scientist to write
|>> reasonable code, however there is no software yet that can help a CS
|>> person write any physics code.
|>
|>I don't know any compiler that can make up for the choice of a bad algorithm.
|>If the program uses bogo-sort it may work, but it'll sure hold things up
|>later
|>on when you start using live data.

This is a common attitude arround here, there are an awful lot of people who
seem to think that a computer scientist is a programmer who can touch type. I
will agree that I would be incapable of writing physics code. Physics code is
written in FORTRAN, consists of at least 50,000 lines and is recycled and
ammended by successive generations of graduate students until nobody remembers
what the program does, then it is turned into a subroutine library and quitely
left to die.

We have a bunch of folk here who consider themselves such great computer
scientists that they have built their own operating system, MVS-NEWLIB. It only
runs on one machine and is entirely incompatible with evwerything else in the
universe. Because they tied all their code into the operating system they are
now entirely trapped, the whole code for our experiment had to be written in
strict ANSI FORTRAN-77, this despite the fact that compilers with VAX extensions
such as structures are more or less de-facto standards and could be bought for
any of the systems we use. this fact alone has cost us tens of lost man years
effort.

We had a bunch of people who thought they had invented a new concept called code
management, this is when you have a database that you keep all your previous
versions of the code in. We don't use codebase anymore, it never worked. I
recently told one of the guys who was involved with it about a command on the
UNIX system called sccs (I use CMS myself), the chap looked up from the manual
for another "physicist" code manager system (OK this one works) and asked me if
it did macro processor functions... Should I also tell him about cp and
cc/preprocess???

One of the depressing things is seeing just how low the standards of tolerance
slip when there arn't people who are prepared to say "this is garbage". As in
all big institutions nobody will ever complain because 1: their stuff dosen't
work either and 2: everyone is playing silly political games.

OK so what does this have to do with architectures? Well the same problem
occurs, we get people who just will not try to find out about the systems using
them. They realised early on that vectorising monte carlo programs was hard, so
they decided that a lot of effort was clearly necessary in that area. Meanwhile
there were all these theorists who had codes which vecotrised real nice who
couldn't get their hands on the CRAY because at an experimental lab the prestige
machines should go to the experimentalists! I won't mention the lab in question,
although I will remind the people concerned that I did tell them that they were
on the wrong track, GEANT does parellelize nice at the event level and is real
good for RISC farms. If they had known about the Southampton parallelism model
they would have realised that at the start.

I may not be able to write "physics code" but I can certainly write code to do
physics. If I wanted to become a machine operator and spend all my time
mechanicaly churning data through programs then I might even let the people
round here know that I have written a monte carlo. Instead I think I'll just
finish my event display, user interface generator, communications harness, run
control software, thesis (!) and bugger off to sell the code synthesizer to
someone.

This place is vaguely tolerable once you realise that their need of you is
greater than your need of them.

--
Phill Hallam-Baker
Newsgroups: comp.edu,comp.lang.fortran,comp.lang.misc,comp.arch,sci.math