Writing Scientific Software: A Guide to Good Style


Product Description
The core of scientific computing is designing, writing, testing, debugging and modifying numerical software for application to a vast range of areas: from graphics, meteorology and chemistry to engineering, biology and finance. Scientists, engineers and computer scientists need to write good code, for speed, clarity, flexibility and ease of re-use. Oliveira and Stewart's style guide for numerical software points out good practices to follow, and pitfalls to avoid. By following their advice, readers will learn how to write efficient software, and how to test it for bugs, accuracy and performance. Techniques are explained with a variety of programming languages, and illustrated with two extensive design examples, one in Fortran 90 and one in C++: other examples in C, C++, Fortran 90 and Java are scattered throughout the book. This manual of scientific computing style will be an essential addition to the bookshelf and lab of everyone who writes numerical software.Writing Scientific Software: A Guide to Good Style Review
I think this book is a good introduction to writing good/better scientific programs. It seems so very much is left out of courses, and people are left to their own devices in terms of learning how to write good, robust, and fast programs. This book is a mix of numerical analysis, programming techniques, and an explanation of hardware from the programmer's standpoint- all three things are necessary for writing good (and fast) scientific programs. I know how deep the rabbit hole goes in each of these areas, so I can strongly recommend this book as a good introduction into each for engineers/chemists/physicists that are learning how to write scientific programs. For more about hardware, try the 'write great code' series Write Great Code: Volume 1: Understanding the Machine. For more on numerical analysis, there are many good books, such as Scientific Computing.This isn't a cookbook for writing the best scientific programs. Sure, there are a few examples, but the underlying principles are what to take away. Despite all my experience, I learned a few tips. I have to say, this book would be better if the authors 1) didn't plug their program at every turn, 2) sat down and narrowed the scope of the book/chapters and critically asked themselves what a given example brings to the discussion, and 3) didn't try to be experts on programming languages. Don't read too deeply into the example implementations. C is my language of choice- I can call them out on many things. I know enough fortran to raise eyebrows at some of the content. The proofreader and technical editor need to be shot- typos and blatant errors are rampant throughout the book (seriously- run spell checker before you hit the "print" button).
Most of the consumer Reviews tell that the "Writing Scientific Software: A Guide to Good Style" are high quality item. You can read each testimony from consumers to find out cons and pros from Writing Scientific Software: A Guide to Good Style ...

No comments:
Post a Comment