Computer programming is one of the most complex endeavors known to humankind, especially among those activities which are not restricted to a select, intensively-educated professional elite (such as brain surgery or rocket science). It is also one of the newest activities known to humankind, as computers have only been around for a few decades, and have only been available to the general public for a substantially shorter amount of time than that.
As a result of this, as well as the fact that computer usage continues to change over time as the technology advances and allows it to enter more facets of our everyday lives, work habits and common social understanding do not really accommodate the needs of programmers to the same extent as they accommodate other similarly demanding tasks.
This page is about some of the gaps between (on the one hand) what most people understand about programming and (on the other) what programmers actually need in order to be productive.
- 2006-12-07 The Asymptotic Twitter Curve is mainly a discussion about related phenomena, but has some useful graphs illustrating the interruptions/productivity correlation
- 2006-04-17 How to Shut up and Get to Work! by Jason Fried of 37 Signals
- 2000-04-19 Where do These People Get Their (Unoriginal) Ideas? by Joel Spolsky: most of the article goes into the problems caused when programmers are not allowed to work uninterrupted