Edsger Dijkstra - Discipline in Thought [video]
youtube.com
youtube.com
OTOH, there is no excuse for sloppy programming under the mantra of iterative development. Code is usually better when you've taken a little time to think about how to solve the problem at hand.
I do think that Dijkstra's expectations are a bit lofty for the general population of programmers, though. For a large class of us, the biggest problem is just getting started. For me, it's a lot easier to get into flow by tinkering with some part of a program than to try to put the whole thing together in my mind. By the end, I usually have a large chunk of the app in my head. The expectation that every keystroke must be perfect from the outset would be enough to discourage me from even starting.
sadly, I didn't start at UT until a few years after he passed away. Must have been amazing to learn from this legend. All my professors had nothing but great things to say about him as a person and as a teacher.