Note: Thinking of coding in terms of signals and noise
One could think of coding as a simple process of the programmer producing the code. But, what if we want to focus on the fact that the code and the ideal specification are never identical. In this case, we could think of the programmer as introducing noise. In other words, when software is coded by hand, the ideal specification becomes muddied by the programmer in some ways before it becomes code. However, as the programmer gets better (in ability and in his own understanding of the problem), the noise he introduces reduces, eventually allowing the code to perfectly capture the specification. ...