What programming languages do mathematicians use?
mathoverflow.net
mathoverflow.net
Much of the time, a scientist is driven to a language not by any particular language feature, but by what code/tools are already available in that language that they can build upon for their own research.
I think that languages that didn't support "conventional" operator precedence lost out because that went against the expectations of science/tech types. (Smalltalk & Lisp in particular)
That seems to be a west coast thing. East coast epidemiologists that I know use some mix of S or SPSS or SAS.
The only people I know who use fortran are either a) old or b) their code is very old.
What foods do vintners eat?
These are silly questions -- in all three cases, the answer is "if they're smart, whatever is best for their circumstances". I know mathematicians who have used Fortran, Pascal, C, C++, Java, BASIC, Assembly, Lisp, Maple, Matlab, Magma, Mathmatica, and Maxima; and that's not counting the people who do deliberately weird things (like computing Mersenne primes in Postscript).
Now what's so weird about that ?
In postscript (which is actually quite a powerful language) sounds a lot less weird than doing it in brainfuck or something like that.
It is interesting to look at what languages get used for what kinds of research, and how it is affected by the researcher's level of computer science education. For example, those doing numerical analysis kind of research tend strongly toward MATLAB, with Python getting a lot of use from those who are relatively well-educated about computer science, and the lower-level languages used by people with extreme performance needs or who haven't learned any of the newer options. On the other hand, I doubt that any of the numerical researchers I work with have even heard of Haskell, and while some may have heard of APL (though definitely not J), none could use it.
I'd say it's more like asking "What cars do park rangers drive?" or "What foods do wrestlers eat?" because we're talking about groups of people with quite specific requirements. The question, while overly broad, isn't silly, because there's a lot of people who have no idea and have never heard of things like Maple, Magma. Heck, now I coem to think of it I've never heard of Maxima, so your answer taught me something new. And if you learn something new from the answer, it's probably not a silly question!
I'll ask Tim Gowers next time I see him.
The ex-mathematicians I know who now use mathematics to do things in the real-world use a full range, including all those mentioned elsewhere.
For my PhD I used Fortran, BCPL, zed (not the one you might think - it was essentially "ed"), and Phoenix scripting.
For my day job I use Python/Sage/NumPy, C, C++, ARM assembler, bash, BASIC and OpenOffice Calc. Infrequently and irregularly I use Lua and Scheme. On the other hand, I'm not really doing math anymore. I no longer prove theorems.
Compare that with stackoverflow and HN in which we use nicknames, made up names, etc.
Just interesting to see how different communities choose to handle something like this.
"We also encourage you to use your real name as your username. In your own enlightened self-interest, realise that participating in blogs, Math Overflow, the arXiv, and mathematical publishing are all forms of advertising for your "brand", even if that’s not your principal purpose (and hopefully it’s not). Since job applications require you to write your real name, you might as well use it everywhere else, too."
The bright side is that if a Fields medalist answers your question, you know it ;-)
Everything else just feels like it's ultimately Arithmetic, even when doing Symbolic Algebra natively in Haskell or Lisp or Mathematica.
EDIT: As for the GUI comment, I am actually trying to stay away from a bloated GUI as speed is key in this business.
Also, when we, as a program, went to Chicago during late October, so many people said that C# was becoming an important language to know if you plan on doing quant work. Up until that point, I had been focused primarily on C and C++. I thought it would be wise to do some work with C# if people at quant shops were telling me this is something I need to know.