However, it does make me wonder, why has python become to standard for data science? Is it Library support or purely community based?
However, it does make me wonder, why has python become to standard for data science? Is it Library support or purely community based?
Python is used at the top of the stack because it's an easy language to learn, you can get started fast, and, for places where performance is important - nothing is running in Python anyways.
Also interactivity and quick feedback cycle, stuff like Jupyter Notebooks (né IPython Notebooks, a spinoff from the IPython project), matplotlib, ...
Because it's glue, so its speed doesn't matter overly much.
> Is it Library support or purely community based?
That's a dichotomy which doesn't really make sense. Python has cultivated and attracted attention from scientific communities from the start: the matrix-sig (a special interest group focusing on array computing packages) was created back in '95 and a number of their suggestions were added as language-level conveniences (that continues to this day, `@` was recently added as the "matrix multiplication" operator).
This is feasible to reduce interpreter overhead considerably by using array programming:
c = a + b #This is valid Python code.
Where a and b are two same sized numpy arrays. Numpy typically handles the add in an optimized SIMD function.
I think Python is a good example of how being good enough is better than being awesome. And then it builds inertia through use and packages and friend of a friend recommendations.