9 Favorite Quotes from Coders at Work
Coders at Work is an enjoyable read. It is a series of interviews with famous software developers, like Jamie Zawinski, Douglas Crockford, and Simon Peyton Jones.
Here are 9 of my favorite quotes from the book.
1. On literate programming. "This is what literate programming is so great for—I can talk to myself. I can read my program a year later and know exactly what I was thinking." —Donald Knuth
2. On debugging by rewriting. "So I'd rip it out and replace it with a routine that does the simple thing I thought that piece of code was supposed to do. And the program magically works." —Bernie Cosell
3. On simplicity and brute force. "Ninety-nine percent of the time something simple and brute-force will work fine." —Ken Thompson
4. On prototyping. "I get so much of a thrill bringing things to life that it doesn't even matter if it's wrong at first. The point is, that as soon as it comes to life it starts telling you what it is." —Dan Ingalls
5. On documentation. "There's a story about how the program is organized, there's a story about the context in which the program is expected to operate. And one would hope that there will be something about the program, whether it's block comments at the start of each routine or an overview document that comes separately or just choices of variable names that will somehow convey those stories to you." —Guy Steele
6. On debugging. "Then there's—I don't know if I read it somewhere or if I invented it myself—Joe's Law of Debugging, which is that all errors will be plus/minus three statements of the place you last changed the program." —Joe Armstrong
6. On naming. "What I do instead is I will cheerfully spend literally hours on identifier names: variable names, method names, and so forth, to make my code readable. If you read some expression using these identifiers and it reads like an English sentence, your program is much more likely to be correct, and much easier to maintain." —Joshua Bloch
7. How to read code. "By cleaning it. I'll throw it in a text editor and I'll start fixing it. First thing I'll do is make the punctuation conform; get the indentation right; do all that stuff." —Douglas Crockford
8. On failing loudly. "My basic rule is, if it could possibly come from the end user, it's not a run-time crash. But if it is my code to my code, I crash it as hard as possible—fail as early as possible." —Brad Fitzpatrick
9. On getting started. "I find that getting something on the screen as soon as possible really helps focus the problem for me. It helps me decide what to work on next. Because if you're just looking at that big to-do list it's like, eh, I don't know which one I should do—does it matter which one I do? But if there's something you can actually look at, even if it's just the debug output of your mailbox parser, it's like, OK, there!" —Jamie Zawinski
Do you have any favorite quotes from the book?