The artistic equivalent of "beating it into shape" would be repeatedly drawing something badly, erasing (part of) it, and trying (that part) again. That is not what a sketch isPaul seems to imply that sketching is "expected failure", that's just doing something badlywhich it really isn't.
Sketching is still a thoughtful process of reasonable approximation, but it avoids labeling itself as final and then trying againinstead keeps itself open to alteration if needed.
This approachShotgun debugging is valuable for learners, as it teaches them the common mistakes that they should learn to avoid in the future, but that is precisely the point I'm trying to make. At some point, you have to move on from
A newbie artist doesn't sketch. They paint the learner phasewhole picture, fail, and stop making those common mistakesthen paint over it. It is only when they start to gather enough experience to know how to (not) paint a picture that they start sketching specifically to avoid that try/retry process.
Sketching is what you do to avoid shotgun debugging. Shotgun debugging is not a form of sketching, at which pointit's what happens when you don't really need to "beat it into shape" anymoresketch.
I said that sketching is a reasonable approximation which keeps itself open to alteration if needed. The kind of alterations you need to make to a sketch generally amount to the equivalent of "typos and oversights". If you need to redo your sketch from the ground up, then your sketch must have been really bad or misguided. That's just not good sketching.
While learners should shotgun debug to learn the source of their mistakes, any experienced developer, by their very nature of being "experienced", shouldn't be continually revisiting the basics during their debugging phase.
At that pointWhen you're no longer a newbie programmer, debugging is in fact "a final pass where you catch typos and oversights".