LETTERS TO THE EDITORS
Does This Compute?
To the Editors:
While I agree with Gregory V. Wilson (Macroscope,
January-February 2006) about the importance of version control and
modern software-development practices in scientific computing, it is
clear to me that the particle physicist held out as an example in
the article must have been a theorist, and moreover one who works
largely on his own. I can assure you that extremely good examples of
proper software-development processes and methods can easily be
found within the same field, and for almost all projects are largely
the rule, rather than the exception.
The number of technologies mastered and under control in
particle-physics software development is very large, and it is no
accident that the http servers and protocols that led, for example,
to the development of the World Wide Web at CERN more than a decade
ago, and that are now producing large-scale innovations in grid
computing (as in the project I work on now), emerged from the
experimental high-energy particle physics community. Even
collaborative efforts in theoretical physics are benefiting from
such developments.
In producing such capabilities, we generally contribute to the
software- development paradigm, not just take from it. Most of the
scientists in my field are at least competent in several modern
programming languages and make full and frequent use of version
control, advanced software debugging, validation and memory-leak
checking techniques, and other methods referred to in the article.
I would like to thank Dr. Wilson for the article, but would also
like to request that he not tar all scientists with the same brush
in making his point. There are many examples of good
software-development practices, even exemplary ones, in science.
Alan Sill
Texas Tech University
To the Editors:
Gregory V. Wilson has some excellent points regarding the state of
scientific computing. At Penn State we have tried to address such
issues by offering a graduate minor degree in High Performance
Computing. The students can pursue an M.S. or Ph.D. degree in a
traditional discipline and then learn about other important aspects
of computational science while pursuing the minor. This approach
works quite well, since the skills needed are very similar whether
the students are studying business, science, engineering or other fields.
Lyle N. Long
The Pennsylvania State University
Dr. Wilson responds:
I agree with Dr. Sill that many scientific groups are doing things
right, but in my experience, for each one of those there are many
others that don't even realize that they are doing things
wrong. For example, of the 98 participants in my course this
fall, fewer than 10 percent answered "yes" to the
question, "Is the code you are working with kept under version
control?" Based on almost 20 years in and around
high-performance computing, I think that is an accurate indication
of how far we have to go.
I also agree that degree programs like the one Dr. Long describes
are essential to the healthy development of computational science. I
hope that in coming years, such programs will put ever-increasing
emphasis on how to produce software, and how to be confident that
it's doing what it's supposed to. I also hope that journals will
start insisting that computational scientists provide evidence that
their work meets the same standards that we all now take for granted
for experimental work.