Comment by the__alchemist
10 hours ago
I love Rust for mathematical and scientific tasks (I am building the structural bio crate infrastructure), and I love Mathematica and have a personal sub. I should be the audience, but... What makes Mathematica great, IMO, is the polish and overall experience created by consistent work with applications in mind over decades. So, I look at this project with skepticism regarding its utility.
Sure, but you've got to start somewhere! And with the amount of progress I was able to make in just a few weeks, I'm very optimistic that the polish will come sooner rather than later.
Based on the list of contributors to your project, I am not sure this starting location is optimally suited to the task of building a foundation for polished, reliable, expandable software.
It's having ~ 5000 tests already. Used correctly, AI agents can help you improve the quality of the code!
5 replies →
The sneering on HN really has no end. This is a good project! I for one am very excited to see an interpreter born out of rust.
2 replies →
In that case I kindly refer you to the matter of Arkell v. Pressdam.
i'm curious if you intend to reimplement highly optimized numerical algorithms, symbolic algorithms, and so on, accumulated and tuned in mathematica since its 1988 release?
it's a huuuuuuuuge amount of technology in the standard library of mathematica, beyond the surface syntax and rewrite system, i mean.
Half-assed reimplementations of existing software (often in the name of "memory safety") is what the Rust community is best known for.
Mathematica is proprietary software. Any reimplementation is better than nothing at all, at least for people that don't run proprietary software
Useless thing is not less useless by the virtue of being FOSS. That's something FOSS folks have yet to understand.
All the best to the author, they definitely have fun doing this, but I've seen enough of such attempts. Having agents doesn't make much difference.
1 reply →
I find rust to be the best language and tool set in most categories. I still agree with this characterization.
Similarly I'm not sure Octave ever really got that polish to compete with MATLAB.
SPSS is hilariously painful to use. Still it's only losing ground ever so slowly. PSPP remains almost unheard of among SPSS core users.
I am not sure Octave ever had to put on that much polish. It just had to be decent enough to save $$$$ vs a Matlab license. If it can drop-in run the code that has been keeping the lab going for decades, good enough.
MathWorks offers a huge list of "toolboxes", domain specific extensions that cover a lot of features in each domain. Replacing Matlab isn't about the core language alone.
2 replies →
> It just had to be decent enough to save $$$$ vs a Matlab license
And it failed at this.
1 reply →
Yeah, the Mathematica language is the least interesting aspect of the Mathematica system. Closely followed by the interactive notebooks.
The notebooks were THE thing of Mathematica, at least to me. 12 years ago, as I was finishing my PhD in quantum optics, I wanted to migrate to the stack used in industry - and picked Python. Also, that way I was an early adopter of Jupyter Notebook, as it captured what was need + was open.
Now Mathematica notebooks (still remember, it is .nb) do not have the novelty factor. But they were the first to set a trend, which we now take for granted.
That said, I rarely use notebooks anymore. In the coding time, it is much easier to create scripts and ask to create a visualization in HTML.
> Closely followed by the interactive notebooks.
Mathematica's notebooks are the only environment where I can do some computation to arrive at a symbolic expression. Copy the expression from the output cell into a new input cell. Then manipulate it by hand into the form I want. Then continue processing it further.
Also, symbolic expressions can be written nicely with actual superscripts and subscripts, and with non-latin characters.
One of the best features of Mathematica system.
Have a look at TeXmacs! (https://texmacs.org)
(AFAIK, you can run Mathematica sessions in TeXmacs, get proper typesetting, and can copy/paste expressions for simplification by hand or using other CAS sessions in the same TeXmacs document).
I disagree, the language itself is one of the more elegant parts of the system, and enables a lot of the rest of the elegance.
From a purely programming language theory, it's pretty unique.
I once tried to find a language that had all the same properties, and I failed. The Factor language is probably the closest. But they are still pretty different.
The relevant programming paradigm is string/term rewriting, which is featured in other programming languages such as Pure. It seems to have few direct applications outside of symbolic computing itself, compilers and related fields such as PL theory. (Formal calculi and languages are often specified in PL theory as rewrite rules, even though the practical implementation may ultimately differ.)
First I believe there is no such thing as the Mathematica language, it's Wolframscript which is useful in a bunch of different applications. And second, if you don't have access to a $1000 / yr wolfram subscription, this would be the next best thing.
They rebranded it to Wolfram Language a few years ago (which I actually appreciate, as it is so much more than just "math" by now!)
https://writings.stephenwolfram.com/2013/02/what-should-we-c...