0.4. Programming Issues
The current volume contains a rather detailed introduction, from scratch,
to how Ruby can be used for numerical applications. We expect this
volume to be of use to a broad public, interested in trying out Ruby
for applications in computational science, starting with the N-body
problem as a comparatively simple example. Even those who already
have gained considerable expertise in Ruby may want to consult this
volume for a real-life example of how to set up compute-intensive
applications, something that is generally left out of Ruby literature,
both on introductory and on advanced levels.
In addition, we present reports of bug-tracing sessions, with a degree
of realistic detail seldom encountered in the literature. It is our
belief that the essential art of debugging code can only be learned
through practice. And to the extent that books can help one to get
exposed to this type of practice, examples have to come directly from
applications, or else they will be, at best, only of theoretical value.
Chapter 7, Debugging, is devoted in its entirety to this topic.
0.5. Acknowledgments
Besides thanking our home institutes, the Institute for Advanced Study
in Princeton and the University of Tokyo, we want to convey our
special gratitude to the Yukawa Institute of Theoretical Physics in
Kyoto, where we have produced a substantial part of our ACS material,
including its basic infrastructure, during extended visits made
possible by the kind invitations to both of us by Professor Masao
Ninomiya. In addition, we thank the Observatory of Strasbourg, where
the kind invitation of Professor Christian Boily allowed us to make a
rapid beginning with the current volume.
Finally, it is our pleasure to thank Douglas Heggie, Stephan Kolassa,
Ernest Mamikonyan, Bill Paxton, Michele Trenti, John Tromp and Jason
Underdown for their comments on the manuscript.
Piet Hut and Jun Makino
Kyoto, July 2004