From experience, I have concluded that whether mathematicians become good programmers depends on whether they have an engineering aesthetic. Mathematical elegance and engineering elegance are not exactly the same thing. A mathematically trivial solution can be a huge practical mess. Mathematicians with no engineering aesthetic can't see the difference and tend to produce big blobs of unmaintainable code. Mathematicians with an engineering aesthetic are some of the best programmers I've worked with.
I've only worked with one philosopher. He's very creative and produces reams of working code, but new requirements always mean new reams of code. Everyone suspects there must be a lot of redundancy in his code, but then, nobody has needed to look, because it all works....
I've only worked with one philosopher. He's very creative and produces reams of working code, but new requirements always mean new reams of code. Everyone suspects there must be a lot of redundancy in his code, but then, nobody has needed to look, because it all works....