So "use our proprietary service to scale our proprietary language" is a great pitch for people who are already all in. Increasing spend among existing customers won't help you get new ones though.
Typical example of a extraction/exploitation mentality where innovation would be better. Wolfram is in an amazingly good spot to spin up better "simulation as a service" if they would look at fine-tuning LLMs for compiling natural language (or academic papers) into mathematica semi-autonomously and very reliably.
Man, I miss Wolfram Language. Once you've twisted your brain a little to grok its usage, it's such an incredibly high-value tool, especially for exploration and prototyping. I saw it more as a do-anything software tool for researchers rather than as a language aimed at programmers, so I put on a researcher hat and tried to forget everything I knew as a professional programmer, and had a few memorable seasons with it around 2016-2020. I remember calculating precisely which days of the year would cause the sunlight to pass through a window and some glass blocks in an internal wall, creating a beautiful light show indoors. It only took a couple of minutes to get a nice animated visualisation and a calendar.
Nowadays I'd probably just ask Claude to figure it out for me, but pre LLMs, WL was the highest value tool for thought in my toolbox.
(Edit: and they actually offer perpetual licenses!)
The power of the language came from the concise syntax (I liked it more then classical LISPs) with the huge library of Mathematica. When Python is "batteries included", Mathematica is "spaceship included".
If this was open sourced, it had the potential to severely change the software/IT industry. As an expensive proprietary software however, it is deemed to stay a niche product mainly for academia.
As discussed on another thread, the outcome is poorly tools glued together, due to lack of roadmap and polish that commercial software usually supports, instead of volunteers coming and going, only caring for their little ich.
That's exactly the same analogy I used to use, although I said "nuclear reactor included" - spaceship is better, it implies less danger and more expanded horizons!
Well, that doesn't sound too bad. But this is a high enough barrier for Mathematica to not see wide spread use.
I don't remember what the pricing has been throughout the years. But I do remember that for some of the time I couldn't really afford Mathematica. And the license I wanted was also a bit too expensive to justify for a piece of software that only I would be using within an organization.
Because it is also about enough other people around you not being able to justify the expense. And about companies not wanting to pay a lot of money for licenses so they can lock their computations into an ecosystem that is very small.
Mathematica is, in the computing world, pretty irrelevant. And I'm being generous when I say "pretty": I have never encountered it in any job or even in academia. People know of it. They just don't use it for work.
It would have been nice if the language and the runtime had been open source. But Wolfram didn't want to go in that direction. That's a perfectly fine choice to make. But it does mean that as a language, Mathematica will never be important. Nor will knowing how to program in it be a marketable skill.
(To Stephen Wolfram it really doesn't matter. He obviously makes a good living. I'm not sure I'd bother with the noise and stress coming from open sourcing something)
Interesting. I have always felt I am missing out on not using tools like Mathematica or MatLab. I see some people doing everything using MatLab, including building GUI and DL models, which I found surprising for a single software suite, and - nowadays - one that is quite affordable (at least the home edition).
Mathematica seems a little pricey but maybe it would motivate me to learn more math.
I would love to read what non-mathematicians use MatLab, Mathematica, and Maple for.
Yeah, I was one of those schmucks that used sympy / python instead of mathematica in my physics coursework. Policy was "mathematica is recommended and supported, but you can bring your own tools if you want to and can make them work."
In retrospect, doing the work in mathematica would have probably stretched my brain more (in a good way!) since it provides a different and powerful way of solving problems vs other languages...maybe I'll have to revisit it. Perhaps even try advent of code with it?
While python did get the job done, it feels like the ceiling (especially for power users) is so much higher in mathematica.
I used mathematica for real last time in SGI days and loved it. I know probably a ton has changed since, but I do have to ask those that use it today if you'd still use it for non math-heavy (and even so) tasks if you have access to the wonderful world of python and jupyter / polars, R, and similar?
Mathematica is awesome for weird, one-off tasks in fields that I'm unfamiliar with, since the documentation is excellent, and the functionality is really broad (so I don't need to figure out how to install a specialty program for every one-off task). But for fields that I'm experienced with or tasks that I'm planning on running frequently, I'll usually just use Python, since most of the Python libraries have more functionality and run quicker than Mathematica.
(Mathematica is of course much better than Python at symbolic math, but this isn't what you are asking about)
I'm a non-mathematician and I used it for lots of novel stuff - GIS, visualisations of all kinds, machine learning. The Wolfram Community staff picks is a great introduction into the varied things you can do: https://community.wolfram.com/content?curTag=staff%20picks
I really like this way of introducing a new feature/service. Straight to the point, explains what it does, which problem it solves, gives practical examples and walks the reader through them. So many times when I read about a new feature/service I am left with more questions than I had started with, but this was great!
One of the more interesting things about WL is that Stephen Wolfram is really a genuine daily user of the software his company makes and he's the final say on what ships and in what form. They used to livestream his meetings reviewing potential new features on Youtube, an interesting watch. It didn't make me want to work there but I did feel like he cared very much. Quite Jobsian, dare I say.
Maybe with the power of a supercomputer, Mathematica can finally launch in less than 30s. I have no idea how a software that still does essentially the same thing as it did in 1988 can be that sluggish.
Sage Math? Though I admit, unlike homogeneous Mathematica, it's just a Python glue on multiple smaller projects of different quality and poorly integrated. I wish there was something more like the Wolfram software but there isn't.
I quite like Sage. Python is a much better language than Wolfram (yes, he named it after himself...). In Wolfram, there is no real scoping (even different notebooks share all variables, Module[] is incredibly clumsy), no real control flow (If[] is just a function), and no real error handling. When Wolfram encounters an exception, it just prints a red message and keeps chugging along with the output of the error'd function being replaced by a symbolic expression. This usually leads to pages and pages of gibberish and/or crashes the kernel (which for some reason is quite difficult to interrupt or restart). Together with the notebook format and the laughable debugger, this makes finding errors extremely frustrating.
The notebooks are also difficult to version control (unreadable diffs for minor changes), and unit testing is clearly just an afterthought. Also the GUI performance is bad. Put more than a hand full of plots on a page, and everything slows to a crawl. What keeps me coming back is the comprehensive function library, and the formula inputs. I find it quite difficult to spot mistakes in mathematical expressions written in Python syntax.
Fully agreed. I have never seen a programming language which is so badly designed as Wolfram. I really wish there was another way to access all of Mathematica's functionality with a more sane interface.
I think it's an extreme example of not-invented-here syndrome. In many ways that leads to interesting novelties, and in others it leads to not having undo/redo until the 2010s.
Huh. So Stephen finally discovered cloud computing (yes, I know about the hosted notebooks).
I played around with RemoteKernel some time ago (https://taoofmac.com/space/blog/2016/08/10/0830) but this is “better”, although I wish they’d make it hostable in your own cloud provider like materials simulation software and other things we see running in HPC clusters.
(I also ran Mathematica in a 512GB/128core VM once for kicks, but it’s just not cost-effective).
Just before I stopped using Mathematica they came out with that headless kernel, and I had wondered if you could spin it up on a Kubernetes cluster or something.
I love this, too many people keep themselves busy discussing bits and bytes, or Stephen Wolfram's personality.
The reality is that by now we should already be at a level where common programming would be like Wolfram everywhere.
Maybe agents and LLM driven code generation is how we eventually get into the next abstraction level, sadly won't be without casualties with smaller team sizes, when so much can be automated away.
> The reality is that by now we should already be at a level where common programming would be like Wolfram everywhere.
What aspects of the Wolfram language should be everywhere? The easy access to lots of datasets? The easy access to lots of mathematical functions? CAS in general?
All of those, plus having an interactive graphical environment, debugging experience and optimisation when needed.
Basically the ideas of Smalltalk and Lisp Machine variations, that are still only partially available in modern IDEs, and proudly ignored by the "vt100 rules and vi first" minded devs.
With all the integrated standard functions Mathematica is such an incredible tool. We really need an open source version of it. Even if we implement only 10% of the features it would be already incredible useful.
I started working on an implementation in Rust called Woxi (https://github.com/ad-si/Woxi) and I hope to find some contributors, as it is such a gargantuan task!
So "use our proprietary service to scale our proprietary language" is a great pitch for people who are already all in. Increasing spend among existing customers won't help you get new ones though.
Typical example of a extraction/exploitation mentality where innovation would be better. Wolfram is in an amazingly good spot to spin up better "simulation as a service" if they would look at fine-tuning LLMs for compiling natural language (or academic papers) into mathematica semi-autonomously and very reliably.
Man, I miss Wolfram Language. Once you've twisted your brain a little to grok its usage, it's such an incredibly high-value tool, especially for exploration and prototyping. I saw it more as a do-anything software tool for researchers rather than as a language aimed at programmers, so I put on a researcher hat and tried to forget everything I knew as a professional programmer, and had a few memorable seasons with it around 2016-2020. I remember calculating precisely which days of the year would cause the sunlight to pass through a window and some glass blocks in an internal wall, creating a beautiful light show indoors. It only took a couple of minutes to get a nice animated visualisation and a calendar.
Nowadays I'd probably just ask Claude to figure it out for me, but pre LLMs, WL was the highest value tool for thought in my toolbox.
(Edit: and they actually offer perpetual licenses!)
The power of the language came from the concise syntax (I liked it more then classical LISPs) with the huge library of Mathematica. When Python is "batteries included", Mathematica is "spaceship included".
If this was open sourced, it had the potential to severely change the software/IT industry. As an expensive proprietary software however, it is deemed to stay a niche product mainly for academia.
As discussed on another thread, the outcome is poorly tools glued together, due to lack of roadmap and polish that commercial software usually supports, instead of volunteers coming and going, only caring for their little ich.
That's exactly the same analogy I used to use, although I said "nuclear reactor included" - spaceship is better, it implies less danger and more expanded horizons!
> As an expensive proprietary software however
It's $195/year for a personal license. And only $75/year for students. Their licensing model is pretty broad.
Well, that doesn't sound too bad. But this is a high enough barrier for Mathematica to not see wide spread use.
I don't remember what the pricing has been throughout the years. But I do remember that for some of the time I couldn't really afford Mathematica. And the license I wanted was also a bit too expensive to justify for a piece of software that only I would be using within an organization.
Because it is also about enough other people around you not being able to justify the expense. And about companies not wanting to pay a lot of money for licenses so they can lock their computations into an ecosystem that is very small.
Mathematica is, in the computing world, pretty irrelevant. And I'm being generous when I say "pretty": I have never encountered it in any job or even in academia. People know of it. They just don't use it for work.
It would have been nice if the language and the runtime had been open source. But Wolfram didn't want to go in that direction. That's a perfectly fine choice to make. But it does mean that as a language, Mathematica will never be important. Nor will knowing how to program in it be a marketable skill.
(To Stephen Wolfram it really doesn't matter. He obviously makes a good living. I'm not sure I'd bother with the noise and stress coming from open sourcing something)
It still creates a class of haves and have-nots which prevents forming a community.
Plus you buy a version of it, and then someone else is on another version, and you don't have the same features, and the tiny community is fragmented.
Interesting. I have always felt I am missing out on not using tools like Mathematica or MatLab. I see some people doing everything using MatLab, including building GUI and DL models, which I found surprising for a single software suite, and - nowadays - one that is quite affordable (at least the home edition).
Mathematica seems a little pricey but maybe it would motivate me to learn more math.
I would love to read what non-mathematicians use MatLab, Mathematica, and Maple for.
To be fair it was used a lot during my physics studies. I opted to use it afterwards for integrals and derivations, very powerful.
Yeah, I was one of those schmucks that used sympy / python instead of mathematica in my physics coursework. Policy was "mathematica is recommended and supported, but you can bring your own tools if you want to and can make them work."
In retrospect, doing the work in mathematica would have probably stretched my brain more (in a good way!) since it provides a different and powerful way of solving problems vs other languages...maybe I'll have to revisit it. Perhaps even try advent of code with it?
While python did get the job done, it feels like the ceiling (especially for power users) is so much higher in mathematica.
I used mathematica for real last time in SGI days and loved it. I know probably a ton has changed since, but I do have to ask those that use it today if you'd still use it for non math-heavy (and even so) tasks if you have access to the wonderful world of python and jupyter / polars, R, and similar?
Mathematica is awesome for weird, one-off tasks in fields that I'm unfamiliar with, since the documentation is excellent, and the functionality is really broad (so I don't need to figure out how to install a specialty program for every one-off task). But for fields that I'm experienced with or tasks that I'm planning on running frequently, I'll usually just use Python, since most of the Python libraries have more functionality and run quicker than Mathematica.
(Mathematica is of course much better than Python at symbolic math, but this isn't what you are asking about)
I'm a non-mathematician and I used it for lots of novel stuff - GIS, visualisations of all kinds, machine learning. The Wolfram Community staff picks is a great introduction into the varied things you can do: https://community.wolfram.com/content?curTag=staff%20picks
I really like this way of introducing a new feature/service. Straight to the point, explains what it does, which problem it solves, gives practical examples and walks the reader through them. So many times when I read about a new feature/service I am left with more questions than I had started with, but this was great!
One of the more interesting things about WL is that Stephen Wolfram is really a genuine daily user of the software his company makes and he's the final say on what ships and in what form. They used to livestream his meetings reviewing potential new features on Youtube, an interesting watch. It didn't make me want to work there but I did feel like he cared very much. Quite Jobsian, dare I say.
> Quite Jobsian, dare I say.
Good for product: not so good for people.
I am told that he gave a great deal of agency to people he trusted, though.
In my career, I ran into two [brilliant] individuals that had, at one time, worked with Jobs.
They both hated him.
Maybe with the power of a supercomputer, Mathematica can finally launch in less than 30s. I have no idea how a software that still does essentially the same thing as it did in 1988 can be that sluggish.
Yet there is hardly any computing system that can replicate Mathematica tooling capabilities.
One would expect 37 years would be enough to create such alternative.
Jupiter notebooks aren't the same.
Sage Math? Though I admit, unlike homogeneous Mathematica, it's just a Python glue on multiple smaller projects of different quality and poorly integrated. I wish there was something more like the Wolfram software but there isn't.
I quite like Sage. Python is a much better language than Wolfram (yes, he named it after himself...). In Wolfram, there is no real scoping (even different notebooks share all variables, Module[] is incredibly clumsy), no real control flow (If[] is just a function), and no real error handling. When Wolfram encounters an exception, it just prints a red message and keeps chugging along with the output of the error'd function being replaced by a symbolic expression. This usually leads to pages and pages of gibberish and/or crashes the kernel (which for some reason is quite difficult to interrupt or restart). Together with the notebook format and the laughable debugger, this makes finding errors extremely frustrating.
The notebooks are also difficult to version control (unreadable diffs for minor changes), and unit testing is clearly just an afterthought. Also the GUI performance is bad. Put more than a hand full of plots on a page, and everything slows to a crawl. What keeps me coming back is the comprehensive function library, and the formula inputs. I find it quite difficult to spot mistakes in mathematical expressions written in Python syntax.
Fully agreed. I have never seen a programming language which is so badly designed as Wolfram. I really wish there was another way to access all of Mathematica's functionality with a more sane interface.
Yeah, but that was my point, similar capabilities, not a bunch of tools glued together, poorly integrated, as you point out.
Honest question: I think Maple is really a competitor, even if less known.
Why would you want an alternative, just buy Mathematica! Or don't you believe in capitalism?
I have no qualms with proprietary software, use plenty of it.
I think it's an extreme example of not-invented-here syndrome. In many ways that leads to interesting novelties, and in others it leads to not having undo/redo until the 2010s.
In fairness the problem is not easy! JupyterLab only got document-wide undo/redo in 2021 per https://jupyterlab.readthedocs.io/en/3.1.x/getting_started/c... .
Huh. So Stephen finally discovered cloud computing (yes, I know about the hosted notebooks).
I played around with RemoteKernel some time ago (https://taoofmac.com/space/blog/2016/08/10/0830) but this is “better”, although I wish they’d make it hostable in your own cloud provider like materials simulation software and other things we see running in HPC clusters. (I also ran Mathematica in a 512GB/128core VM once for kicks, but it’s just not cost-effective).
Just before I stopped using Mathematica they came out with that headless kernel, and I had wondered if you could spin it up on a Kubernetes cluster or something.
I do notice that they have an "Application Server" for Kubernetes, which is pretty curious: https://github.com/WolframResearch/WAS-Kubernetes (though not updated in over a year)
I love this, too many people keep themselves busy discussing bits and bytes, or Stephen Wolfram's personality.
The reality is that by now we should already be at a level where common programming would be like Wolfram everywhere.
Maybe agents and LLM driven code generation is how we eventually get into the next abstraction level, sadly won't be without casualties with smaller team sizes, when so much can be automated away.
> The reality is that by now we should already be at a level where common programming would be like Wolfram everywhere.
What aspects of the Wolfram language should be everywhere? The easy access to lots of datasets? The easy access to lots of mathematical functions? CAS in general?
All of those, plus having an interactive graphical environment, debugging experience and optimisation when needed.
Basically the ideas of Smalltalk and Lisp Machine variations, that are still only partially available in modern IDEs, and proudly ignored by the "vt100 rules and vi first" minded devs.
the beauty of pure functions :)
With all the integrated standard functions Mathematica is such an incredible tool. We really need an open source version of it. Even if we implement only 10% of the features it would be already incredible useful.
I started working on an implementation in Rust called Woxi (https://github.com/ad-si/Woxi) and I hope to find some contributors, as it is such a gargantuan task!
Here's a 10% clone of Mathematica - https://mathics.org/