Language choices - leondutoit/data-centric-programming GitHub Wiki
Technology choices, like most choices really, involve trade-offs. The real choice is not so much about finding the option that solves all possible problems, but rather one that solves the critical problems with an acceptable set of costs. The same is obviously true when choosing a programming language for data analysis.
There are a few very important considerations for open source languages and data analysis:
- does it have a stable and backwards compatible API?
- how large and how active is the user community?
- how proficient are your collaborators in the language?
- will your project be likely to be maintained effectively?
- what support does the standard library have?
- do the user-contributed libraries provide robust solutions to common problems?
- how well does the language integrate with other tools?
- how strong is the language on general purpose programming?
- will the performance (speed of execution) typically match your requirements?
While this list is not exhaustive, it does emphasise three very important general considerations when it comes to language choice: collaboration with different people over time; the purpose of the project at hand; and the context in which the application happens.
It is my opinion that one the balance, the Python and R languages and programming environments do very well in satisfying these conditions for programmatic data analysis. Sure, there are others too, but you can't do them all...