I don't necessarily agree with everything written here, but I think it is a good discussion starter. Personally, I think the editor has a huge part in the "code reading" and "thinking" phases. In the former I jump around a lot, and a code reader would end up looking like vim or eclipse or whatever with insertion disabled, and replaced with some sort of annotation mechanism (instead of just inserting comments). I understand that there are other cool things a reader could do, but they would be most useful as additions to an editor anyway, as they have uses in editing and maintaining as well. For the later, I do sometimes walk away from the problem to think, but other times I jump around and look at various bits to help remember the "shape" or imagine how the "shape" of bits would change with my latest ideas.