Scientific programming is meaningfully different from typical software engineering. Where a web-service runs continuously, a scientific program is ran once - taking anywhere from a few seconds to a few days - and we analyze the results. We may find that the script needs to be updated, or we run the script on different data, in which case we make small changes to the script and run it again. The scientific programming process can be simplified to the repeated iteration of this process.
As a result of this process, and the fact that scientific programs tend to be relatively small (ranging from a few hundred lines of code to a few thousand), I use a unique approach to write the programs. My broad aims in writing scientific programs are the following:
- Make the core algorithms clear, readable and easily vetted by others