Programming as Thinking

“Programs must be written for people to read, and only incidentally for machines to execute.”1

This is especially true in research computing. Your future self is the most important user of your code.2

Write for humans first, optimize for machines second.


  1. Harold Abelson and Gerald Jay Sussman, Structure and Interpretation of Computer Programs↩︎

  2. I’ve lost count of how many times I’ve looked at my own code from six months ago and wondered what I was thinking.↩︎