I’ve used Mathematica at university, it’s so great! Creating fractals, animations and so on is so easy and intuitive.
The problem though is that Wolfram is a walled garden. When you think about integrating it in an enterprise environment, you get hit by such high costs, it stops making sense. Imagine if they open sourced it, I feel like their products have so much utility, buried deep down Wolfram ecosystem and conventions.
It doesn't make sense even for academia. Reproducibility is an issue and as we've seen with recent fraudulent claims in major publications - it's what is going to be used for verification of research.
Many years back while in grad school I could not reproduce a result from a paper. Thankfully they had provided the data as public but not the code. I emailed the authors and got some matlab code back. My university didn't have a matlab subscription. Octave saved me there since the syntax is similar.
But with something like mathematica and the price of it you will never be able to have a wide verification of the result if the software is not free.
Also, a lot of things in industry gain traction first in academia (especially math tools). So unless academic traction is dealt with mathematica's headway in industry will remain limited. They are still a profitable company. So I'm guessing there are deep pocketed clients who purchase the tooling.
I've noticed an increase in Rust, and I just googled it (for whatever that's worth) it seems to be #2 tied with C++ wont be surprised if it surpasses C++ and eventually gets tied with Python.
This problem is very visible in Physics with software such as COMSOL, which many papers use. The licenses are so crazy expensive, that verifying any paper is difficult.
Mathematica has a lot of clients in math and engineering. Traditionally these clients are not so concerned about software engineering issues you mention. What Mathematica offers also makes sense for small firms with a few engineers, because they can leverage their vast amount of ready to use functions and libraries. But I agree that for medium to large size companies it stops making sense.
Not practical in research. Doesn't solve the blackbox reproducibility problem. Also it makes the act of publishing a paper under your name practically a crime confession, as it's easy for companies to comb the literature to seek people publishing results obtained with software X without a license.
Author here: I absolutely do not understand this mindset.
It has almost 20K unit tests by now and hundreds of full end-to-end tests of complicated scripts to ensure it works and matches the output of Wolframscript. Why does it matter that I was using Claude to help me implement it?
My issue is that Mathematica is essentially a term rewriting system. Reimplementing everything in Rust seems to go against the idea. The derivative computation is 400 lines of Rust and could be 20 lines of Mathematica code.
My theory is that writing as much as possible in Rust will improve performance and produce higher-quality code due to Rust's static typing. So far, it's been working well, but the final verdict is still out.
I have not looked at the implementation but isn't the idea to write a Lispy language in Rust (in other words, Mathematica the language) and then write the differentiation and other routines in that.
I mean you can do autodiff with a regular library in Rust. Enzyme is just a very specific type of autodiff which transforms after some compilation has taken place.
I don't know that you can match something speedwise like a JIT or Expression Templates in rust though without using something like Enzyme.
AI has a tendency of "just make it pass!" (which to be fair you also sometimes see from junior human devs - maybe where it learnt from!). Remember that C compiler which didn't even do basic error checking because that wasn't checked by the test suite?
A very young project written by AI means you haven't reviewed the code and nobody has used it in anger. It might work perfectly, but my experience of AI so far says that it won't.
Basically he did it by developing the first version of Mathematica when he was a professor at the University of Illinois. They were not pleased (although they've settled since and Wolfram is still headquartered in Champaign-Urbana near the campus)
Wolfram is $4000/seat for a perpetual commercial license with support. [1] $4000 will only buy a middling Mac Tool tool chest…and not the tools to put in it.
Unless you need System Modeler, in which case add another $576 perpetual + $260 annual.
There is a combined license for Mathematica + System Modeler, but it's "Contact us for pricing". Mind you, that's still on the Hobbyist tier. You cannot use its output for anything commercial.
Contrast with Julia's MTK/Dyad that are free for non-commercial use.
Not just on Raspberry Pi, wolfram scripting engine is free and works on windows or mac too. You lose the notebook interface, but if you're just using it as a calculator, it does the job.
Wolfram did have Visual Studio API integration at one point, and it was useful reducing algorithmic symbolic design complexity. However, it was mostly the academically controversial assumptions that Mathematica makes that undermined its credibility in many faculties.
For example, when digging into GNU Octave you will find many of its libraries were built on peer reviewed legacy code provably reproducible with prior aerospace published works.
The problem with closed source academic programs isn't features or even quality, but rather one of traceable Metrology and scientific rigor. =3
I'm aways surprised that there's no open source language that provides everything you get with Wolfram language. For example, the level of pattern matching you can use when defining functions, as well as the high level of functional composition. It is like having a mix of APL, Lisp, and Prolog that is very productive to use.
From a strict PL perspective, the Wolfram/Mathematica language is rather based on a term rewriting paradigm. The languages Maude, Pure and TXL would be examples of something that's broadly comparable but more generic. In general, it turns out to be a fairly niche paradigm that's not very useful outside of symbolic computing itself, or related fields such as modeling of PL syntax and compiler internals.
Its standard library is almost impossible to reproduce in its enterity
If those libraries were like regular code that got published to Github or something like that.. like pypi or npm or crates.io or whatever. And if mathematica had a lean standard library. It would be very feasible to implement a clone that's basically compatible
I mean. Depending on just wolfram rather than random open source contributors has benefits, for example it's more resistant to supply chain attacks. Indeed the npm model is not good. But, it is open, and that's what enabled for example deno and bun to have some compatibility with node
Tbh I fully expect someone to get the proprietary Mathematica code and somehow launder it through LLMs and pretend whatever outuput is not legally a derivative work from the original code, and then does not need to be bound by Mathematica license and can be its own open source project
Like the following dudes who are doing this, but to a project that is already open source (git):
> "...the level of pattern matching you can use when defining functions, as well as the high level of functional composition..."
This sounds like your average functional programming language. The Scicloj community is the first thing to come to mind (but I assume they don't do symbolic algebra/calculus like Mathematica does), but I don't know what you're specifically missing.
IT doesn't even need to be open source, a walled garden that you can afford is perfectly fine. Someone's going to find the cracks in the wall anyway.
But a walled garden that costs $400 for personal use (we're ignoring yearly licensing, because f that noise) is utter nonsense, and the clearest sign you have no idea how to sell and then upsell products to users over the course of several years.
The AI assistant complaints track with what I see on my end. Any general model I throw Wolfram Language at does noticeably worse than it does on Python. That part isn't surprising. There just isn't much public Wolfram code to learn from next to the mountain of Python sitting on github. It keeps guessing function names that sound plausible but don't exist. Spent an afternoon last week fixing hallucinated options on an NDSolve call it gave me.
>It keeps guessing function names that sound plausible but don't exist.
That's surprising considering how good their documentation is. A tool using LLM should have no problem with that. WolframLanguage is almost ideal for an LLM actually.
I always compare the difference between Mathematica/Wolfram Language and Python to the difference between Classical Latin and English.
I don't really like English from a linguistic point of view (as a non-native speaker). It's a hodgepodge of other languages and has so many exceptions, it's not very elegant. But it's so ubiquitous and useful that one basically has to know English today.
On the other hand, Latin is beautiful and pure. There's more rules, but very few exceptions. But unless you study catholic theology or something along those lines, it's basically useless.
Which one maps to Wolfram Language and which one to Python is probably obviously.
Latin is beautiful, but its purity and regularity may be overstated because of its prestige.
There are irregular verbs, sometimes with complete suppletive replacement of principal parts by what used to be other verbs (e.g. sum, esse, fui, futurus; fero, ferre, tuli, latum). There are verbs that use passive forms with active meaning (deponents) or perfect forms with present meaning (defectives).
There are arguably completely missing forms in the verbal inflection system (the Romans knew that some forms plausibly "should" exist, especially based on a Greek grammatical model, but simply didn't have them!).
There is sometimes unpredictability in which noun case should be used with a particular verb.
The noun declensions are apparently based on two different sets of Indo-European noun inflection paradigms, so nouns with similar nominative forms can end up being declined very differently.
There are ambiguities where different noun forms coincide, which can even create parsing ambiguities in literature (like confusion between ablatives and datives, many of which look identical).
The extent to which the perfect stem of a verb can be predicted from the present is limited, as sometimes stem reduplication is used, but sometimes just suffixation of something like -vi.
There are loanwords, even classically, from Etruscan, Greek, and to a lesser extent other Mediterranean languages (just thinking of that "hodgepodge" issue).
The meanings of purpose clauses with the verbs of fearing are arguably backwards from the English point of view (although I think the Latin version does make plenty of sense).
Native and nonnative speakers couldn't easily agree in antiquity about whether vowel length should be contrastive and (I think) whether consonant aspiration was phonemic. I guess the native speakers' opinion should matter more, except there promptly became such huge numbers of non-native speakers that they started to have a really humongous influence on the language.
There are spelling changes even within the classical period, so there isn't quite one single classical Latin orthography.
I guess there are many fewer irregular verbs overall compared to Germanic languages (which historically have had up to hundreds of at least partly irregular verbs). But if we want to count unpredictability of Latin perfect stems (which is somewhat akin to the main source of irregularity in the Germanic verbs: stem changes) as a kind of irregularity, Latin will also have quite a lot of these.
It’s a nice analogy but Latin has tons of weird idioms and exceptions. Been a while since I did it, but
1)the locative vs the ablative, and the locative only existing for a few words
2)the irregular verbs such as sum, eo etc, irregular nouns such as deus, aqua etc, and there’s a bunch of irregular like adjectives and stuff that I don’t remember
3)indeclinable nouns that just don’t decline at all and are the same in all cases. I think the word for “morning” is like this but it’s been a very long time. There are a few words that work this way anyway.
4) Words like “castrum” which just mean something totally different in the plural to the singular. “Castrum” means a fort, but the plural “castra” doesn’t mean many forts, it means a (singular) military camp.
5) Words like “Saturnalia” (festivals of Saturn) which only exist in the plural. As far as I know you can’t say one festival of Saturn in latin.
> Which one maps to Wolfram Language and which one to Python is probably obviously.
I've programmed quite a bit with both Python and Mathematica, and I've read through your comment a few times, but I still can't figure out which is which. Both languages are hodgepodges of other languages with lots of special cases (which I would consider to be a good thing since it gives you so much flexibility).
I'm a huge fan of Mathematica; I've been a subscriber for many years. There's much to love about the product, but its AI assistant isn't among them.
Claude Caude is much better at Mathematica than Wolfram's own AI assistant. I think they flat-out acknowledge the very limited abilities of Mathematica's AI assistant in this version 15 announcement.
The Wolfram AI assistant is so bad I unsubscribed from it. By the sounds of it, a basic AI assistant is offered included with subscriptions now. I feel it's borderline criminal they were charging for their hallucinatory AI assistant in the past.
Rubi is just rule based integration. So its like looking up a book of integral formulas and encoding them as rules. It does mean you need a minimum number of other features like partial fraction decomposition, polynomial factoring so it demonstrates some capability. Many of the other Mathematica like CAS end up using the Rubi rules themselves.
But indefinite integration is just a small aspect of CAS capabilities. What about integration over a line or surface, definite integration and dealing with singularities, differential equations, solving equations under assumptions, simplifying equations.
According to https://github.com/rawbytess/hissab, it's not even close to being an alternative to Wolfram. Hissab is described as "A strict, unit-aware natural-language calculator" and its syntax looks nothing like Wolfram. It reminds me of Wolfram Alpha, though.
I saw those and got excited; I've been using Mathematica for decades and do a lot of work with symbolic music.
Unfortunately they are extremely surface level in this release. It looks like there isn't even any ability to load/export MusicXML, kind of weird low level primitives and zero interesting higher level functions. Hopefully they keep iterating on it but I don't think it'll be useful for my workflow right now.
If Stephen Wolfram really wanted wide adoption of Wolfram Language, he would give it an open-source license and release its source. As things stand it's an expensive walled garden whose costs outweigh its advantages.
A quote from the linked article: " ...year after year building an ever taller tower of ideas and technology ..."
That's an accurate description of the Wolfram empire -- every year it becomes a more expensive, less accessible, vertical tower. Meanwhile, people intent on disseminating useful knowledge do so by growing horizontally -- Python, Linux, many others, all open-source.
Historical figures would be astonished at what Wolfram is trying to do -- they would say, "Wait ... you can't patent mathematics!" No, but you can try.
Obviously open source is a significant virtue. Mathematica has some strength in closed source, I doubt it could be as self consistent and backwards compatible if people could depend on the implementation as the use contract as opposed to the documentation. It would obviously have had more features earlier, but would that have made the perpetual support, cointegration, or documentation suffer? I'm not blind to the downsides, but I do perceive upsides, and those may contribute to Mathematica's niche.
it has the nicest calculator syntax (imho) among the tools i've tried (python/julia/array langs/matlab/etc...) with extensive docs for each function and a nice notebook interface, but i've never written a program in it that was longer than one expression.
I work in quantitative finance. I do the vast vast majority of my algebra and stochastic calculus in Mathematica, and lots of ad hoc data visualization.
I had it in an engineering inner sanctum of Apple. had used it since it came out in 1988 on campus in Illinois, and folks in Apple definitely knew it. Not sure who all was doing what with it.
How could I forget this! He also recommended the name.
Wolfram had come up with some normal techie names "computron", "math-o-matic" or whatever. SJ said No those suck, use something simple like Mathematica.
I used Mathematica on a NeXT computer back in 1991. It was a beautiful machine to work on. I did a student project where I simulated the flow of the boundary of a plane region over time (like how the shape of a drop of oil in water changes over time) and it was very, very easy to write in Mathematica with cool graphics.
Probably the most general-purpose one is SageMath, which is open-source and basically Python with a ton of sophisticated math stuff built into it. Everything I used to do in Mathematica I now do in sage, and I don't think I'm the only one. Probably field-dependent though.
Of course there is a whole constellation of more specialized things in certain fields, that has come a long way in the last 15 years. So people needing things like that no longer kludge things together in Mathematica.
Does SageMath use Sympy, or is there some other integrator built in? Last I heard Sympy was one of the worst performers, even among other open source CASs.
I remember using it in my college days in the 90s.
People joining my company from academia usually know Mathematica along with Python or R.
When we tell them we don’t use Mathematica they are sometimes initially concerned. They are typically quite opinionated and I have yet to hear an employee complain about no longer having access to Mathematica. Or SPSS, SAS, or MiniTab for that matter.
I would not call him a crank, he's just an "independent physicist". He is a very successful and wealthy businessman thanks to Mathematica, with $100Ms of wealth presumably, and he choses to do physics in his own way, pursuing subjects that he finds interesting, in ways he finds interesting. And he writes about his work and himself in grandiose ways, usually comparing himself to Newton and Einstein.
Nothing major has come out of his research, other then one of his co-workers proving that one of the simple CAs is Turing complete.
Most academic physicists ignore him, but that's fine. Personally, I think we need more people like Wolfram who are doing totally independent research, with their own funds. Statistically, something unexpectedly good could come out of it!
> And he writes about his work and himself in grandiose ways, usually comparing himself to Newton and Einstein ... Nothing major has come out of his research
Wolfram is definitely not a crank. Cranks do not understand scientific methods and also have a minimal understanding of whatever field they're trying to be active in. Like trying to push physics theories while demonstrably failing to understand high school level calculus. Cranks are also conspiracy theorists who inevitably believe knowledge like theirs is being suppressed.
Wolfram does display a similar ego to cranks. He tends to place his cellular automata at the same tier of importance as general relativity or wave-particle duality. But unlike cranks, he doesn't say that Einstein, Feynman and other greats are wrong, he doesn't "prove" his theories by math-looking babble that is definitely not math. He loves cellular automata and so much of what he writes is more like philosophy of science than science. He will model certain processes as an automaton and then he jumps from that to every natural process being a cellular automaton.
Eccentric, definitely, and most of his physics research isn't accepted but he's several orders above the level of crank.
The word ‘crank’ is a dismissive insult. Wolfram is definitely eccentric, probably hard to work with, but also undoubtedly smart. What good does it do to dismiss him? He’s doing nothing wrong spending his own money the way he wants to. And who knows something will come out of this. Similar to GP I’d like to see more of this.
A crank is a real pattern of behavior where a person tries to prove things they don't have enough knowledge and intelligence to even understand correctly.
yeah he's not a crank, just an asshole. Taking credit for work did by his employees, to the point of suing them. The only significant discovery to come out of his CA work was completed by an employee, who wolfram sued when he published a paper and gave a talk on it.
It's easy to find Wolfram tedious but I've not seem him be particularly disruptive to other efforts nor did his crankery lead to his current success. He's on the same level with Eric Weinstein. Your best bet is to ignore them.
I'd like to push back on that comparison. At least unlike Weinstein, Wolfram produced a genuinely impressive and useful piece of software, which empowers scientists and students worldwide. While his physics work is a little questionable and not too interesting, he doesn't seem to care too much what other people think. He'd never latch on to some podcast bro to give his ideas a wider reach. All Weinstein does is drop big names left and right and whine about how Big String Theory has taken over modern physics and suppresses free thinkers.
That's fair. What I was trying to get at is that Weinstein is also independently successful albeit in a completely unrelated field. There may be small parts of truth in his critique of the field but GU is just so completely batty and ignorant it's worth discounting his analysis here entirely.
I find greater fault in the pushing of his "Intellectual Dark Web" pseudo-cult. So I would agree he's actually a contemptible character but for slightly different reasons.
I like the changes they’ve made to the backend in the AI era because now if you input “weight of 1 cup of sugar” into WolframAlpha it says 202 grams and if you put in “weight of 1 cup of sucrose” it says 376 grams.
I would rather live in a world where my life is surrounded by mystery than live in a world so small that my mind could comprehend it. - Harry Emerson Fosdick
The AI gave you as right a reasonable answer as could be made for the ambiguity of the questions, try asking why the answers are different when you thought they'd be the same (or check out a pre-AI answer https://www.reddit.com/r/AskScienceDiscussion/comments/2fqyx...)
Hmmm, it could definitely be clearer. It looks like it's using the bulk density for "sugar" (so including the air between the crystals) and the actual density for "sucrose".
I’ve used Mathematica at university, it’s so great! Creating fractals, animations and so on is so easy and intuitive.
The problem though is that Wolfram is a walled garden. When you think about integrating it in an enterprise environment, you get hit by such high costs, it stops making sense. Imagine if they open sourced it, I feel like their products have so much utility, buried deep down Wolfram ecosystem and conventions.
It doesn't make sense even for academia. Reproducibility is an issue and as we've seen with recent fraudulent claims in major publications - it's what is going to be used for verification of research.
Many years back while in grad school I could not reproduce a result from a paper. Thankfully they had provided the data as public but not the code. I emailed the authors and got some matlab code back. My university didn't have a matlab subscription. Octave saved me there since the syntax is similar.
But with something like mathematica and the price of it you will never be able to have a wide verification of the result if the software is not free.
Also, a lot of things in industry gain traction first in academia (especially math tools). So unless academic traction is dealt with mathematica's headway in industry will remain limited. They are still a profitable company. So I'm guessing there are deep pocketed clients who purchase the tooling.
The situation you’re describing is probably why Python is the defacto language of Machine Learning to this day.
I've noticed an increase in Rust, and I just googled it (for whatever that's worth) it seems to be #2 tied with C++ wont be surprised if it surpasses C++ and eventually gets tied with Python.
As opposed to what?
Mathematica or MATLAB
This problem is very visible in Physics with software such as COMSOL, which many papers use. The licenses are so crazy expensive, that verifying any paper is difficult.
Mathematica has a lot of clients in math and engineering. Traditionally these clients are not so concerned about software engineering issues you mention. What Mathematica offers also makes sense for small firms with a few engineers, because they can leverage their vast amount of ready to use functions and libraries. But I agree that for medium to large size companies it stops making sense.
True but also for a one of piracy exists just use a cracked copy of it and be done with it
Not practical in research. Doesn't solve the blackbox reproducibility problem. Also it makes the act of publishing a paper under your name practically a crime confession, as it's easy for companies to comb the literature to seek people publishing results obtained with software X without a license.
How do you run cracked/pirated copies of software? I stopped pirating software decades ago due to malware risks.
Download the installer itself in the official way. Run the keygen in a virtual machine.
[dead]
Here are some alternatives (some internally use free Wolfram engine):
Reimplementation in Rust: https://github.com/ad-si/Woxi
WLJS Notebook: https://wljs.io
VS Code extension: https://github.com/vanbaalon/wolfbook
There is also SageMath and Mathics. Not replacements but close.
> Reimplementation in Rust
It's so disappointing to see CLAUDE.md in projects like these. Basically rules it out for serious use.
Author here: I absolutely do not understand this mindset. It has almost 20K unit tests by now and hundreds of full end-to-end tests of complicated scripts to ensure it works and matches the output of Wolframscript. Why does it matter that I was using Claude to help me implement it?
https://github.com/ad-si/Woxi/tree/main/tests
Spot checking, I don't see any issues.
e.g. https://github.com/ad-si/Woxi/blob/main/tests/list_tests.rs
Are they 20k unit tests or sloppy tests? Would 100k unit tests make it better?
My issue is that Mathematica is essentially a term rewriting system. Reimplementing everything in Rust seems to go against the idea. The derivative computation is 400 lines of Rust and could be 20 lines of Mathematica code.
My theory is that writing as much as possible in Rust will improve performance and produce higher-quality code due to Rust's static typing. So far, it's been working well, but the final verdict is still out.
I have not looked at the implementation but isn't the idea to write a Lispy language in Rust (in other words, Mathematica the language) and then write the differentiation and other routines in that.
They had to patch the Rust compiler to natively support AutoDiff.
Contrast with Julia where it can be a regular Julia library,
I mean you can do autodiff with a regular library in Rust. Enzyme is just a very specific type of autodiff which transforms after some compilation has taken place.
I don't know that you can match something speedwise like a JIT or Expression Templates in rust though without using something like Enzyme.
No, they're implementing all functions, all matching etc. in Rust.
Will that be faster? Seems like it should be a lot faster.
I see.
AI has a tendency of "just make it pass!" (which to be fair you also sometimes see from junior human devs - maybe where it learnt from!). Remember that C compiler which didn't even do basic error checking because that wasn't checked by the test suite?
A very young project written by AI means you haven't reviewed the code and nobody has used it in anger. It might work perfectly, but my experience of AI so far says that it won't.
It could very well be 20K slop tests
True but on the other hand it is really impressive how Stephen Wolfram managed to build a viable company around scientific software.
Impressive indeed, but it makes sense if you call it "Wolfram-Jupyter" and you notice the guy made it 20 years before it was cool.
Basically he did it by developing the first version of Mathematica when he was a professor at the University of Illinois. They were not pleased (although they've settled since and Wolfram is still headquartered in Champaign-Urbana near the campus)
Wolfram is $4000/seat for a perpetual commercial license with support. [1] $4000 will only buy a middling Mac Tool tool chest…and not the tools to put in it.
[1] a personal perpetual license is only $400.
Cost goes down significantly for subsequent years personal. Currently at less than $200 yearly.
Unless you need System Modeler, in which case add another $576 perpetual + $260 annual.
There is a combined license for Mathematica + System Modeler, but it's "Contact us for pricing". Mind you, that's still on the Hobbyist tier. You cannot use its output for anything commercial.
Contrast with Julia's MTK/Dyad that are free for non-commercial use.
Do they still offer a free license on Raspberry Pi?
Not just on Raspberry Pi, wolfram scripting engine is free and works on windows or mac too. You lose the notebook interface, but if you're just using it as a calculator, it does the job.
Oh that would make a great mcp
You can also emulate a Pi using QEMU to run Mathematica (slowly!) on other platforms, see e.g.
https://www.thelinuxvault.net/blog/how-to-run-the-raspberry-...
on a Mac you should be able to emulate it pretty quickly since it's arm to arm
Last anyone tried that in earnest, the binary executable formats were of course incompatible and there were hardware checks.
I loved Mathematica. I was so sad about having to use Python math packages in industry.
Wolfram did have Visual Studio API integration at one point, and it was useful reducing algorithmic symbolic design complexity. However, it was mostly the academically controversial assumptions that Mathematica makes that undermined its credibility in many faculties.
For example, when digging into GNU Octave you will find many of its libraries were built on peer reviewed legacy code provably reproducible with prior aerospace published works.
The problem with closed source academic programs isn't features or even quality, but rather one of traceable Metrology and scientific rigor. =3
Most scientific fields have no problem using SAS or STATA or other black box code. I don't think that explains Mathematica's problems.
Indeed, likely negatively correlated with other behavioral phenomena =3
https://www.statista.com/chart/4111/do-europeans-wash-their-...
I'm aways surprised that there's no open source language that provides everything you get with Wolfram language. For example, the level of pattern matching you can use when defining functions, as well as the high level of functional composition. It is like having a mix of APL, Lisp, and Prolog that is very productive to use.
From a strict PL perspective, the Wolfram/Mathematica language is rather based on a term rewriting paradigm. The languages Maude, Pure and TXL would be examples of something that's broadly comparable but more generic. In general, it turns out to be a fairly niche paradigm that's not very useful outside of symbolic computing itself, or related fields such as modeling of PL syntax and compiler internals.
There is Mathics: https://mathics.org/
It doesn't cover the full standard library of Mathematica but the syntax is very similar and a lot of functionality is there.
Wolfram language is the easy part to implement
Its standard library is almost impossible to reproduce in its enterity
If those libraries were like regular code that got published to Github or something like that.. like pypi or npm or crates.io or whatever. And if mathematica had a lean standard library. It would be very feasible to implement a clone that's basically compatible
I mean. Depending on just wolfram rather than random open source contributors has benefits, for example it's more resistant to supply chain attacks. Indeed the npm model is not good. But, it is open, and that's what enabled for example deno and bun to have some compatibility with node
kimi reproduce this standard lib, make no mistakes
Tbh I fully expect someone to get the proprietary Mathematica code and somehow launder it through LLMs and pretend whatever outuput is not legally a derivative work from the original code, and then does not need to be bound by Mathematica license and can be its own open source project
Like the following dudes who are doing this, but to a project that is already open source (git):
https://news.ycombinator.com/item?id=48468904
Except that Wolfram would of course sue and we might as well see what the courts has to say about this topic
> "...the level of pattern matching you can use when defining functions, as well as the high level of functional composition..."
This sounds like your average functional programming language. The Scicloj community is the first thing to come to mind (but I assume they don't do symbolic algebra/calculus like Mathematica does), but I don't know what you're specifically missing.
IT doesn't even need to be open source, a walled garden that you can afford is perfectly fine. Someone's going to find the cracks in the wall anyway.
But a walled garden that costs $400 for personal use (we're ignoring yearly licensing, because f that noise) is utter nonsense, and the clearest sign you have no idea how to sell and then upsell products to users over the course of several years.
The AI assistant complaints track with what I see on my end. Any general model I throw Wolfram Language at does noticeably worse than it does on Python. That part isn't surprising. There just isn't much public Wolfram code to learn from next to the mountain of Python sitting on github. It keeps guessing function names that sound plausible but don't exist. Spent an afternoon last week fixing hallucinated options on an NDSolve call it gave me.
>It keeps guessing function names that sound plausible but don't exist.
That's surprising considering how good their documentation is. A tool using LLM should have no problem with that. WolframLanguage is almost ideal for an LLM actually.
LLM's learn by training on examples more than by training on documentation. Especially since examples are usually bigger in data size.
I always compare the difference between Mathematica/Wolfram Language and Python to the difference between Classical Latin and English.
I don't really like English from a linguistic point of view (as a non-native speaker). It's a hodgepodge of other languages and has so many exceptions, it's not very elegant. But it's so ubiquitous and useful that one basically has to know English today.
On the other hand, Latin is beautiful and pure. There's more rules, but very few exceptions. But unless you study catholic theology or something along those lines, it's basically useless.
Which one maps to Wolfram Language and which one to Python is probably obviously.
Latin is beautiful, but its purity and regularity may be overstated because of its prestige.
There are irregular verbs, sometimes with complete suppletive replacement of principal parts by what used to be other verbs (e.g. sum, esse, fui, futurus; fero, ferre, tuli, latum). There are verbs that use passive forms with active meaning (deponents) or perfect forms with present meaning (defectives).
There are arguably completely missing forms in the verbal inflection system (the Romans knew that some forms plausibly "should" exist, especially based on a Greek grammatical model, but simply didn't have them!).
There is sometimes unpredictability in which noun case should be used with a particular verb.
The noun declensions are apparently based on two different sets of Indo-European noun inflection paradigms, so nouns with similar nominative forms can end up being declined very differently.
There are ambiguities where different noun forms coincide, which can even create parsing ambiguities in literature (like confusion between ablatives and datives, many of which look identical).
The extent to which the perfect stem of a verb can be predicted from the present is limited, as sometimes stem reduplication is used, but sometimes just suffixation of something like -vi.
There are loanwords, even classically, from Etruscan, Greek, and to a lesser extent other Mediterranean languages (just thinking of that "hodgepodge" issue).
The meanings of purpose clauses with the verbs of fearing are arguably backwards from the English point of view (although I think the Latin version does make plenty of sense).
Native and nonnative speakers couldn't easily agree in antiquity about whether vowel length should be contrastive and (I think) whether consonant aspiration was phonemic. I guess the native speakers' opinion should matter more, except there promptly became such huge numbers of non-native speakers that they started to have a really humongous influence on the language.
There are spelling changes even within the classical period, so there isn't quite one single classical Latin orthography.
I guess there are many fewer irregular verbs overall compared to Germanic languages (which historically have had up to hundreds of at least partly irregular verbs). But if we want to count unpredictability of Latin perfect stems (which is somewhat akin to the main source of irregularity in the Germanic verbs: stem changes) as a kind of irregularity, Latin will also have quite a lot of these.
It’s a nice analogy but Latin has tons of weird idioms and exceptions. Been a while since I did it, but
1)the locative vs the ablative, and the locative only existing for a few words
2)the irregular verbs such as sum, eo etc, irregular nouns such as deus, aqua etc, and there’s a bunch of irregular like adjectives and stuff that I don’t remember
3)indeclinable nouns that just don’t decline at all and are the same in all cases. I think the word for “morning” is like this but it’s been a very long time. There are a few words that work this way anyway.
4) Words like “castrum” which just mean something totally different in the plural to the singular. “Castrum” means a fort, but the plural “castra” doesn’t mean many forts, it means a (singular) military camp.
5) Words like “Saturnalia” (festivals of Saturn) which only exist in the plural. As far as I know you can’t say one festival of Saturn in latin.
> Which one maps to Wolfram Language and which one to Python is probably obviously.
I've programmed quite a bit with both Python and Mathematica, and I've read through your comment a few times, but I still can't figure out which is which. Both languages are hodgepodges of other languages with lots of special cases (which I would consider to be a good thing since it gives you so much flexibility).
Almost all languages have exceptions and traditional grammars are just academic study of grammars.
I'm a huge fan of Mathematica; I've been a subscriber for many years. There's much to love about the product, but its AI assistant isn't among them.
Claude Caude is much better at Mathematica than Wolfram's own AI assistant. I think they flat-out acknowledge the very limited abilities of Mathematica's AI assistant in this version 15 announcement.
The Wolfram AI assistant is so bad I unsubscribed from it. By the sounds of it, a basic AI assistant is offered included with subscriptions now. I feel it's borderline criminal they were charging for their hallucinatory AI assistant in the past.
Honestly I've found even Gemini Flash is better than Wolfram assistant...
But that's fine. Mathematica client supports openrouter as LLM provider anyway so we can use whatever we want.
Hissab - https://hissab.io is a Free and opensource alternative to Wolfram
Here are some other alternatives (some internally use free Wolfram engine):
Reimplementation in Rust: https://github.com/ad-si/Woxi
WLJS Notebook: https://wljs.io
VS Code extension: https://github.com/vanbaalon/wolfbook
How do they stack up doing actual computer algebra things like symbolic integration?
https://www.12000.org/my_notes/CAS_integration_tests/reports...
Note that alternative open source solvers like Fricas fail 10x the integrals in that corpus.
Rubi is just rule based integration. So its like looking up a book of integral formulas and encoding them as rules. It does mean you need a minimum number of other features like partial fraction decomposition, polynomial factoring so it demonstrates some capability. Many of the other Mathematica like CAS end up using the Rubi rules themselves.
But indefinite integration is just a small aspect of CAS capabilities. What about integration over a line or surface, definite integration and dealing with singularities, differential equations, solving equations under assumptions, simplifying equations.
The bottom two are based on Wolfram engine itself, so would fair the same as Mathematica. I do not know about the first one.
According to https://github.com/rawbytess/hissab, it's not even close to being an alternative to Wolfram. Hissab is described as "A strict, unit-aware natural-language calculator" and its syntax looks nothing like Wolfram. It reminds me of Wolfram Alpha, though.
Its not trying to achieve a feature parity with wolfram or mimic it. Its just an alternative to do calculations and may meet somewhere in the middle.
symbolic music features are interesting! they should add chroma!
I saw those and got excited; I've been using Mathematica for decades and do a lot of work with symbolic music.
Unfortunately they are extremely surface level in this release. It looks like there isn't even any ability to load/export MusicXML, kind of weird low level primitives and zero interesting higher level functions. Hopefully they keep iterating on it but I don't think it'll be useful for my workflow right now.
Scientists: better to stay away.
https://lwn.net/Articles/1023299/
If Stephen Wolfram really wanted wide adoption of Wolfram Language, he would give it an open-source license and release its source. As things stand it's an expensive walled garden whose costs outweigh its advantages.
A quote from the linked article: " ...year after year building an ever taller tower of ideas and technology ..."
That's an accurate description of the Wolfram empire -- every year it becomes a more expensive, less accessible, vertical tower. Meanwhile, people intent on disseminating useful knowledge do so by growing horizontally -- Python, Linux, many others, all open-source.
Historical figures would be astonished at what Wolfram is trying to do -- they would say, "Wait ... you can't patent mathematics!" No, but you can try.
Obviously open source is a significant virtue. Mathematica has some strength in closed source, I doubt it could be as self consistent and backwards compatible if people could depend on the implementation as the use contract as opposed to the documentation. It would obviously have had more features earlier, but would that have made the perpetual support, cointegration, or documentation suffer? I'm not blind to the downsides, but I do perceive upsides, and those may contribute to Mathematica's niche.
Does anyone use this outside of college classes? It looks so great in these demos but I never hear of companies using it.
I have used at work a lot for some projects (device physics modeling stuff)
it has the nicest calculator syntax (imho) among the tools i've tried (python/julia/array langs/matlab/etc...) with extensive docs for each function and a nice notebook interface, but i've never written a program in it that was longer than one expression.
It used to be pretty popular for mathematical modeling in quantitative finance.
I work in quantitative finance. I do the vast vast majority of my algebra and stochastic calculus in Mathematica, and lots of ad hoc data visualization.
Not industry, but it's pretty popular among theoretical physics researchers.
I had it in an engineering inner sanctum of Apple. had used it since it came out in 1988 on campus in Illinois, and folks in Apple definitely knew it. Not sure who all was doing what with it.
Steve Jobs and Stephen Wolfram were friends for years. Mathematica shipped preinstalled on early NeXT systems.
SJ recommended some of the UI bits of the notebook. Particularly the separators between cells.
How could I forget this! He also recommended the name.
Wolfram had come up with some normal techie names "computron", "math-o-matic" or whatever. SJ said No those suck, use something simple like Mathematica.
I used Mathematica on a NeXT computer back in 1991. It was a beautiful machine to work on. I did a student project where I simulated the flow of the boundary of a plane region over time (like how the shape of a drop of oil in water changes over time) and it was very, very easy to write in Mathematica with cool graphics.
Still nowadays? My impression is that in (pure) math it's lost most of its market share in the last few years. But maybe that's only in my circles.
what do you or others use instead?
Probably the most general-purpose one is SageMath, which is open-source and basically Python with a ton of sophisticated math stuff built into it. Everything I used to do in Mathematica I now do in sage, and I don't think I'm the only one. Probably field-dependent though.
Of course there is a whole constellation of more specialized things in certain fields, that has come a long way in the last 15 years. So people needing things like that no longer kludge things together in Mathematica.
Does SageMath use Sympy, or is there some other integrator built in? Last I heard Sympy was one of the worst performers, even among other open source CASs.
https://www.12000.org/my_notes/CAS_integration_tests/reports...
It used Maxima many years ago.
Maple would be the main proprietary alternative but yes, there's also SageMath.
I remember using it in my college days in the 90s.
People joining my company from academia usually know Mathematica along with Python or R.
When we tell them we don’t use Mathematica they are sometimes initially concerned. They are typically quite opinionated and I have yet to hear an employee complain about no longer having access to Mathematica. Or SPSS, SAS, or MiniTab for that matter.
What do you use at your company?
The mathematica solve function is a lot of fun to use.
I just learned that Stephen Wolfram himself is a bit of a crank apparently. https://youtu.be/fO9iRDPXvT4?si=CbCjBtOSM5JhgYUF
This is well known, old news.
I would not call him a crank, he's just an "independent physicist". He is a very successful and wealthy businessman thanks to Mathematica, with $100Ms of wealth presumably, and he choses to do physics in his own way, pursuing subjects that he finds interesting, in ways he finds interesting. And he writes about his work and himself in grandiose ways, usually comparing himself to Newton and Einstein.
Nothing major has come out of his research, other then one of his co-workers proving that one of the simple CAs is Turing complete.
Most academic physicists ignore him, but that's fine. Personally, I think we need more people like Wolfram who are doing totally independent research, with their own funds. Statistically, something unexpectedly good could come out of it!
His latest research subject is Ruliology:
https://writings.stephenwolfram.com/2026/01/what-is-ruliolog...
> I would not call him a crank
> And he writes about his work and himself in grandiose ways, usually comparing himself to Newton and Einstein ... Nothing major has come out of his research
okay
Wolfram is definitely not a crank. Cranks do not understand scientific methods and also have a minimal understanding of whatever field they're trying to be active in. Like trying to push physics theories while demonstrably failing to understand high school level calculus. Cranks are also conspiracy theorists who inevitably believe knowledge like theirs is being suppressed.
Wolfram does display a similar ego to cranks. He tends to place his cellular automata at the same tier of importance as general relativity or wave-particle duality. But unlike cranks, he doesn't say that Einstein, Feynman and other greats are wrong, he doesn't "prove" his theories by math-looking babble that is definitely not math. He loves cellular automata and so much of what he writes is more like philosophy of science than science. He will model certain processes as an automaton and then he jumps from that to every natural process being a cellular automaton.
Eccentric, definitely, and most of his physics research isn't accepted but he's several orders above the level of crank.
The word ‘crank’ is a dismissive insult. Wolfram is definitely eccentric, probably hard to work with, but also undoubtedly smart. What good does it do to dismiss him? He’s doing nothing wrong spending his own money the way he wants to. And who knows something will come out of this. Similar to GP I’d like to see more of this.
> He’s doing nothing wrong spending his own money the way he wants to.
Except stealing credit for work done by his employees. Read about his lawsuit against Matthew Cook.
A crank is a real pattern of behavior where a person tries to prove things they don't have enough knowledge and intelligence to even understand correctly.
Wolfram is too smart to be a true crank, but his ego is even bigger than his IQ and he thinks he should rank up there with Newton and Einstein.
yeah he's not a crank, just an asshole. Taking credit for work did by his employees, to the point of suing them. The only significant discovery to come out of his CA work was completed by an employee, who wolfram sued when he published a paper and gave a talk on it.
It's easy to find Wolfram tedious but I've not seem him be particularly disruptive to other efforts nor did his crankery lead to his current success. He's on the same level with Eric Weinstein. Your best bet is to ignore them.
I'd like to push back on that comparison. At least unlike Weinstein, Wolfram produced a genuinely impressive and useful piece of software, which empowers scientists and students worldwide. While his physics work is a little questionable and not too interesting, he doesn't seem to care too much what other people think. He'd never latch on to some podcast bro to give his ideas a wider reach. All Weinstein does is drop big names left and right and whine about how Big String Theory has taken over modern physics and suppresses free thinkers.
That's fair. What I was trying to get at is that Weinstein is also independently successful albeit in a completely unrelated field. There may be small parts of truth in his critique of the field but GU is just so completely batty and ignorant it's worth discounting his analysis here entirely.
I find greater fault in the pushing of his "Intellectual Dark Web" pseudo-cult. So I would agree he's actually a contemptible character but for slightly different reasons.
> independently successful albeit in a completely unrelated field
what field?
Talking Bullshyt. See: https://anathem.fandom.com/wiki/Bulshytt
The linked video is a must-see -- it's one of those rare video essays that shed more light than heat.
I like the changes they’ve made to the backend in the AI era because now if you input “weight of 1 cup of sugar” into WolframAlpha it says 202 grams and if you put in “weight of 1 cup of sucrose” it says 376 grams.
The AI gave you as right a reasonable answer as could be made for the ambiguity of the questions, try asking why the answers are different when you thought they'd be the same (or check out a pre-AI answer https://www.reddit.com/r/AskScienceDiscussion/comments/2fqyx...)
Hmmm, it could definitely be clearer. It looks like it's using the bulk density for "sugar" (so including the air between the crystals) and the actual density for "sucrose".
[dead]