> If you want to show people cool little examples, Mathematica is clean and fast, but you can't build anything serious with it.
Mathematica, which is a serious project, is largely written in Mathematica. Wolfram|Alpha, another large project, is built in Mathematica. Outside the company, https://emeraldcloudlab.com/ for example has built their platform on Mathematica.
> And by "serious", I guess I mean something with few enough constraints to have an identity of its own, rather than being "a thing you can do with Mathematica."
For research, a "thing you can do with Mathematica" is often what you want. But other than that you can put things you build in the cloud via APIFunctions (similar to AWS Lambda functions), or call out to them via wolframscript, or talk to kernels directly via MathLink or LibraryLink, or over sockets via ChannelListen.
> Another limitation is the data input. Someone needs to rethink it seriously.
That's vague, but I imagine you mean importers. Certain built-in importers aren't as good as they should be, like CSV and XLS are memory hogs and die on relatively small amounts of data (at least they used to, I haven't checked recently). The HDF5 importer is now pretty good, and for large datasets it's a good choice for scientific computing anyway.
> Programming languages/platforms are network goods. IMHO, Mathematica has tried to swim against this fact and has failed.
No arguments there. I think it would be great if we could open source at least parts of it, because no doubt new life would be breathed into cobwebby parts of the codebase and various pet peeves fixed. But Mathematica still dominates the computer algebra space despite being closed source, and probably will continue to do so for a while.
> For research, a "thing you can do with Mathematica" is often what you want. But other than that you can put things you build in the cloud via APIFunctions (similar to AWS Lambda functions), or call out to them via wolframscript, or talk to kernels directly via MathLink or LibraryLink, or over sockets via ChannelListen.
For research, closed source should be a dealbreaker.
Good points. I will admit that what I said: "you can't build anything serious with it" is too extreme. I'm not sure how to count Mathematica and Wolfram|Alpha, though. Still, Emerald Cloud Lab clearly gets credit.
Mathematica, which is a serious project, is largely written in Mathematica. Wolfram|Alpha, another large project, is built in Mathematica. Outside the company, https://emeraldcloudlab.com/ for example has built their platform on Mathematica.
> And by "serious", I guess I mean something with few enough constraints to have an identity of its own, rather than being "a thing you can do with Mathematica."
For research, a "thing you can do with Mathematica" is often what you want. But other than that you can put things you build in the cloud via APIFunctions (similar to AWS Lambda functions), or call out to them via wolframscript, or talk to kernels directly via MathLink or LibraryLink, or over sockets via ChannelListen.
> Another limitation is the data input. Someone needs to rethink it seriously.
That's vague, but I imagine you mean importers. Certain built-in importers aren't as good as they should be, like CSV and XLS are memory hogs and die on relatively small amounts of data (at least they used to, I haven't checked recently). The HDF5 importer is now pretty good, and for large datasets it's a good choice for scientific computing anyway.
> Programming languages/platforms are network goods. IMHO, Mathematica has tried to swim against this fact and has failed.
No arguments there. I think it would be great if we could open source at least parts of it, because no doubt new life would be breathed into cobwebby parts of the codebase and various pet peeves fixed. But Mathematica still dominates the computer algebra space despite being closed source, and probably will continue to do so for a while.