Something is usable if it behaves exactly as expected.
Indeed one of the best ways to deflect attacks is to make it look like they’re succeeding. It’s the software equivalent of playing dead.
Watching nonprogrammers trying to run software companies is like watching someone who doesn’t know how to surf trying to surf. Even if he has great advisers standing on the shore telling him what to do, he still falls off the board again and again.
Computer science education cannot make anybody an expert programmer any more than studying brushes and pigment can make somebody an expert painter.
This is a software-powered world.
The trouble with programmers is that you can never tell what a programmer is doing until it’s too late.
The computer programmer is a creator of universes for which he alone is the lawgiver. No playwright, no stage director, no emperor, however powerful, has ever exercised such absolute authority to arrange a stage or field of battle and to command such unswervingly dutiful actors or troops.
Any fool can write code that a computer can understand. Good programmers write code that humans can understand.
I find that writing unit tests actually increases my programming speed.
You might not think that programmers are artists, but programming is an extremely creative profession. It’s logic-based creativity.
To iterate is human, to recurse divine.
Code never lies, comments sometimes do.
An API that isn’t comprehensible isn’t usable.
Software is eating the world.
I’m not a great programmer; I’m just a good programmer with great habits.
I don’t like the feeling, but I’ve got to say that a little fear makes me a more focused, more responsible programmer.
I’ve known people who have not mastered their tools who are good programmers, but not a tool master who remained a mediocre programmer.
Make it work, make it right, make it fast.
Optimism is an occupational hazard of programming; feedback is the treatment.
Data dominates. If you’ve chosen the right data structures and organized things well, the algorithms will almost always be self-evident. Data structures, not algorithms, are central to programming.