Did computer programming make you a clearer, more precise thinker? How about mathematics? If so, what kind? Set theory? Probability theory?
Microeconomics? Poker? English? Civil Engineering? Underwater Basket Weaving? (For adding... depth.)
Anything I missed?
Context: I have a palette of courses to dab onto my university schedule, and I don't know which ones to chose. This much is for certain: I want to come out of university as a problem solving beast. If there are fields of inquiry whose methods easily transfer to other fields, it is those fields that I want to learn in, at least initially.
Rip apart, Less Wrong!
Once you say that functions are definable graphs, you are on a slippery slope. If you want to prove something about "all functions", you have to be able to quantify over all formulas. This means you have already smuggled natural numbers into the model without defining their properties well...
When you consider a usual theory, you are only interested in the formulas as long as you can write - not so here, if you want to say something about all expressible functions.
And studying (among other things) effects of smuggling natural numbers used to count symbols in formulas into the theory is one of the easy-to-reach interesting things in set theory.
About natural numbers - direct set representation is quite unnatural; underlying idea of well-ordered set is just an expression of the idea that natural numbers are the numbers we can use for counting.
The true all-mathematical value of set theory is, of course to be a universal measure of weirdness: if your theory can be modelled inside ZFC, you can stop explaining why it has no contradictions.