| Python ended up at the core of data science because it was capable of serving a community. A community that produced comprehensive computational libraries, which, combined with the low threshold for getting started, made it more accessible for an audience that is interested in computation first and programming second. This is largely the same audience as for tools like Matlab and Mathematica. And to serve that market it didn't have to be a good programming language. You won't find most data scientists discussing the finer points of functional programming or OO. They'll be discussing what mathematical techniques to use or what stages to string together in order to achieve the computation they want. If you have ever worked with typical data scientists, most of them aren't even half way competent software engineers. What Python shows is that community beats technical excellence. By orders of magnitude. Whether or not Mathematica is a better language is irrelevant as it doesn't have the properties required a large community contributing value for free. We can't know if Mathematica could have taken the place of Python if it was open sourced, because it wasn't open sourced. But it given that it had a more potent programming model, it could have led to a very different path from model to running software, for instance. And it could have made distributed computation arrive a lot earlier. But it is actually quite a bit more challenging for Mathematica than that since its licensing terms are stricter than products you might compare it to, like Matlab. I don't think Mathematica would even have to be open sourced to be more successful - it would just have to be a less unattractive value proposition. Compare the revenue of Mathworks vs Wolfram Research, for instance. And then take into account that Mathematica has a much more potent programming model that could have far wider applicability than Matlab. And keep in mind: Matlab doesn't even have a programming model as potent as Mathematica. I think that the smartest thing Wolfram could have done would have been to open source the language, the runtime, and a reasonable standard library. Then they could have built a business on top of that of reasonably priced interactive software with GUIs, visualization tools, developer tools to make stand-alone applications, server applications for distributed computation and a SaaS solution for customers who want to run computation in the cloud. And it isn't like Mathworks didn't miss the boat too. But they are still an order of magnitude more successful than Wolfram Research. Which still makes Wolfram Research the slowest kid in the class in terms of unrealized potential. |
I'm pretty sure it wouldn't have, not with it's current lispy syntax. There is ton of empirical evidence that overt functional style is unnatural for the human mind, especially beginners. Which is why there is no large scale use of any such language.