The Psychology of Computer Programming

Weinberg, Gerald M