How To Program...In That Order
Wes Dyers's blog rocks. I'm loving all the posts he's been writing. C# 3.0 is going to be awesome - all the functional stuff and LINQ stuff rocks (then again, I love F#). His latest post shows the power of side-effect-free code. I love his line:
I think it is important to use the following principle: Make it correct, make it clear, make it concise, make it fast. In that order.
Damn straight. Yes, having blazing-fast code is good, but if doesn't do what it should do, or if it's buggy, or if the code is a complete pile of poo, then what good is it? Get it to work correctly based on expected inputs, and once the tests pass, spend time optimizing (if necessary).