I think there is a limit to the positive feedback programming presents as well. Sure, a program may run as intended, but what if there are bugs that need to be worked out? What if there was a cleaner, faster way to perform the operations that version 1 did? This is what I truly enjoy about programming. Not that there is "instant, positive feedback," but that there are so many approaches to a solution, and room for refinement to make the program faster and cleaner.
Also, you don't get instant, positive feedback, and immediate indication of whether your solution is correct as you do when programming.