Is there any good reason for a programmer to study geometry?

Geometry is useful for statistics/optimization: Think of stuff like linear/convex programming (or nonlinear programming). Those are very geometrical algorithms. This gets used in computer vision - for example for bundle adjustment. I know (for example linear programming) also gets used a lot in economics.

The other application would be computer graphics i think. One example that comes to mind is mesh enveloping - this is used a lot on current games/3d programs.

I don't think this is great for learning the ins and outs of proofs. Maybe algebra (or topology and so on) is better for that. Sure you can axiomatize geometry and that is a big accomplishment (Euclid, Hilbert), and especially projective geometry is very axiomatizable. But i think most people are drawn to geometry because it is so intuitive. Geometrical constructions are really intuitive by them self - and they are already the expression of a proof.

That is why there is such a gap between geometry and logic...


Why study geometry?

  • Because it's gorgeous. See C. Stanley Ogilvy's Excursions in Geometry.
  • Because it has applications to computer graphics. You might look at some of the recent books on applications of quaternions to computer graphics. Not to mention other aspects of computer graphics.
  • More "theoretical" applications. In statistics: suppose you know $X_1,\ldots,X_n\sim N(\mu,\sigma^2)$. How do you know that the sample mean is probabilistically independent of the sample variance, and how do you know that the latter has (modulo a factor) a chi-square distribution with $n-1$ degrees of freedom? Just think about complementary orthogonal projections! Same thing with lots of regression and ANOVA problems, and design of experiments, and stuff about the Wishart distribution, etc.
  • DO NOT assume the list above is exhaustive.