The Art of Programming
An important part of programming is, of course, making a program that does what it’s supposed to do. In other words, it should have no bugs. You know all this. However, focusing on correctness, on bug-free programs, misses a lot of what programming is all about. Programming is not just about the end product; it’s about the process that gets you there. (Anyway, an ugly process will result in buggy code. This happens every time.)
Programs aren’t just built in one go, like a bridge. They are talked about, sketched out, prototyped, played with, refactored, tuned, tested, tweaked, deleted, rewritten….
A program is not built; it is grown.
Because a program is always growing and always changing, it must be written with ...