Skip to main content
Source Link
Paul Siegel
  • 29.2k
  • 19
  • 134
  • 200

I'll start with a meta-answer: given the large (and growing) number of programming languages out there, how do you decide where and how to invest your time?

The answer turns out to be quite simple, but not necessarily what you think. It's not the syntax, the speed, the functionality, or any of the things that people normally talk about - the tech specs are for sure important, but they're secondary for your decision making process. What actually matters the most is the community and ecosystem around the language. You should ask "What are the people who are doing the kind of thing that I want to do using?" and you should use that, even if you have to learn new stuff. There are many reasons:

  • Languages with a vibrant ecosystem get easier, faster, and more powerful over time, and they are optimized for the purposes for which the community uses them (often the users are also developers).
  • When you get stuck - and you definitely will, no matter what you're using - you are more likely to get quick and useful feedback if there is a big and active community than straight from the developers. Especially when you first start out you are likely to make mistakes that other people have made, and if those people are like you then they will be able to understand what you are trying to do and speak your language.
  • When there are a lot of blog posts / stackexchange questions / github examples to look at you will learn faster and it will be easier to keep up with new features / integrations.

Having meta-answered the question, I will now try to actually answer it. According to the above, I think your question reduces to "What languages have the most active communities of professional mathematicians using them?" It's hard to answer that empirically, but at the time of writing my impression is that the main contenders are:

One way to figure out which one is right for you personally is to use Github's trending repositories feature and look for projects that others have done which are closest to your interests.

Post Made Community Wiki by Paul Siegel