1. Debugging


2. The Extreme Programming Nuts sometimes say:
3. "Programming is at of debugging an empty file"
4. They really mean this.
5. They want you to write the tests first.
6. Then your empty source file fails all the tests.
7. Then you write some code to fix some test failures.
8. Then you write some more code and more tests pass.
9. Eventually, all the tests pass.
10. Then you are done.
11. I think that sounds really hard.
12. I have a better idea.
13. How do you carve a sculpture of an elephant?
14. An old joke says:
15. 1. Start with a block of marble.
16. 2. Cut away everything that does not look like a block of marble.
17. Ha ha.
18. Very funny.
19. But that approach worked for Michelangelo.
20. (Unfinished Michelangelo)
21. He even said that he could see the statue, latent in the block of marble.
22. And he said all he did was to let it out.
23. Idea:
24. Instead of debugging an empty file by adding code to it until it
25. Why not start with a file that contains every possible string...
26. And remove code until it passes the tests?
27.