I enjoyed this philosophy of programming from one of Greg Wilson’s slides for Software Carpentry.

What is programming

  • Novice: writing instructions for the computer
  • Expert: creating and combining abstractions
    • Figure out what the pattern is
    • Write it down as clearly as possible
    • Build more patterns on top of it

Having been working with scientists, but non-computer scientists over the last several years, this is a very, very apt description of the differences in programming style that I have been experiencing at my jobs. I doubt that there's much way around it, but it's good to be aware of to help me work better with my co-workers. Generally this means that I let them write the instructions and then I'll do the abstract re-factoring, which seems to work fairly well, as long as we do complete testing in between revisions.




blog comments powered by Disqus

Published

22 October 2010

Category

work

Tags