I'm a graduate student in mathematics, and did my undergraduate in computer science. I keep a blog called Math ∩ Programming in which I explore applications of mathematics to programming (and vice versa), and I have to admit I find most of the less-mathematical aspects of computer science rather dry and uninspired (basically, my opposition to all of the ridiculous hacks that go into systems programming in my experience in industry).
On the other hand, on my blog I look at problems like facial recognition (quite a bit of linear algebra), encryption methods, Turing machines and cellular automata, models for predicting serial killer activity, search engines, and a bunch of other mathematical concepts. The best part is that I get to implement the ideas, and any of my own!
To get your friend to love programming like the rest of us do, find him a truly interesting project. The programming aspect won't stick without his working toward a product he finds beautiful. As for languages, I recommend Mathematica, Racket (a very friendly, but still powerful Scheme derivative), Python, and Haskell. Mathematica is probably the best, because he can selectively implement his own mathematical functions, and use Mathematica's built in libraries to finish the project (e.g., write a function which computes Fourier coefficients, and then use Mathematica to do the rest of the analysis, such as filtering, image generation, etc.). Even the basic topics like integration give some fascinating projects (different quadrature rules, monte carlo integration, a gentle transition into machine learning with large data sets).
Also, it seems like a lot of the responses here are from people who don't do mathematics, or who haven't used the languages they're suggesting to do mathematical software. The reason people recommend Haskell is because it's as close to a literal implementation of category theory as possible, and fits well with some mathematical definitions of some basic concepts. But if your friend is close to your age, then he is not ready for category theory mathematically (that maturity is more or less useless until graduate school, and wicked hard to teach yourself), and as a first language Haskell has the steepest learning curve of the languages suggested (perhaps Prolog is steeper). I used Haskell to implement a Javascript compiler, and I ended up with a very beautiful elegant piece of code, but for intuitive things like variable mutation, you already have to dabble in nontrivial monads.
Python and Mathematica will be much friendlier, and Mathematica has the shallowest learning curve simply because all of the libraries is packaged into a nice user interface with awesome documentation (just hit F1!). On the other hand, there is one book I have heard of (but not read) which provides both a transition to advanced mathematics and an introduction to Haskell simultaneously. It seems to have positive Amazon reviews, so you might want to check it out. He can move up to languages like C# and Java if he ever wants to do industry stuff, but more likely he'll never need to enter that jungle (and lots of industry mathematics stuff is pure Matlab anyway).
But like I said, with the right project learning the language becomes a joy, whatever the project may be.