Archive

Archive for the ‘scientific computing’ Category

Best practices for scientific computing

11 December 2012 Leave a comment

This paper is a must read for scientists who write software as part of their research, but are not themselves software engineers. I’m not going to repeat the paper, but list some major points that should be kept in mind when developing scientific software alongside research.

  • Write programs for humans, not computers.
  • Automate as much as possible, especially repetitive tasks.
  • Use the computer to record history.
  • Make incremental changes, with constant revision and evolution.
  • Use a version control tool.
  • Don’t repeat yourself or others. It’s ironic that I’m repeating this message from the paper.
  • Plan for mistakes in your software or its output.
  • Optimize your software after you have it working correctly.
  • Document the design and purpose of your software, not its mechanics.
  • Collaborate with others.
Advertisements