Not sure if this is quite appropriate for this forum, but I'll give it a shot (and rephrase if a rephrase will make it a bit more appropriate).
Motivation: I'm doing research in mathematics education. I'm particularly interested in teaching mathematicians programming and utilizing programming to teach the metacognitive skills necessary for mathematics.
A question with a preface:
It is often assumed that mathematics and programming are very similar, especially by lay people (those, in this case, who know neither programming nor mathematics at an advanced level) in fact I have heard many a time people say that programming is "too math-y" for them. However, most mathematicians I have met cannot program and many (though by no means all) find programming quite difficult a priori.
However, we can write programming languages in terms of logic and category theory, so at least in principle the subject is mathematical (or at least within the domain of logic).
Therefore I'm putting this particular question in community wiki. What have your experiences with programming been? Have you found it useful in your particular area of expertise (particularly for the pure mathematicians)? If at all possible, could you describe the difficulties you've had in this area?
Justification: I could put this in StackOverflow, but I don't think it really belongs there. It may not really belong here either, it may be better as a blog post, but I think this fits in the community wiki.
Also, if the poster doesn't mind (please tell me if you do), I will be probably be presenting interesting points from this in a talk on my research.