|Think about Loose Coupling|
Interesting thought. I love to program, and I absolutely love geometry, but not how it is taught in high schools. (I took advanced geometry in university).
So, do I think that the learning the methods of programming give a more general education than learning the methods of geometry?
When I try to solve very difficult algorithms, I find that I do it in the same fashion that I try to solve any problem. I'm not sure that I learned my problem solving techniques via school, but more that I honed the ability by applying it to a variety of different tasks (programs, math, science, how to repair my stupid leaking tap...).
But, programming is more than just problem solving. It also has asthetic qualities. For example, lots of posts here are "How do I make my clunky code nicer?".
And... when we need to program something which other people will use (instead of for your own use), you truly have to put yourself into the mind of the user. How would they want to use it, what do they need, etc. Learning how to do this certainly helps us problem solve in ways that is certainly not required by mathematicians.
So I guess that there is a lot of 'general knowledge' gained by learning to program than is generally given credit.
Just don't discount what some people learn from geometry. Those who are really into it go nuts over neat proofs the same way we all go nuts over cool code.