Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The saddest thing about Mathematica is that despite the incredible level of effort invested into it by some of the smartest people on the planet, it will inevitably be relegated to the dustbin of history.

As a proprietary language and kernel, it can never compete long-term with open source alternatives.

It's one thing to have a proprietary product, but for decades now proprietary languages have been a no-go for practically everyone. Even formerly closed languages have been opened sourced, such as Java and C#.

There is no other use for Wolfram Language scripts outside of Mathematica, which comes with a "license server". That's... a dead end.

Can I publish Wolfram code in Docker Hub and expect it to work (legally)? No.

Can I throw some Wolfram code into an Azure Function and have it compute something for me on demand? Nope.

Can I embed Wolfram code into a C# app, publish it on GitHub, and have other people be able to use it without forking out $thousands for a Mathematica license? Nope!

And on and on...

Python, Julia, and Jupyter notebooks will simply wipe out all usage of Mathematica outside of a few esoteric fields. As you said, they're all markedly inferior in almost every way, except for one critical one: they're open and extensible.

You mentioned AI/ML having stopped dead in Mathematica. I noticed that too. I wanted to test some GPU-hosted ML stuff recently that's not the standard Pytorch/Tensorflow type of thing, checked Mathematica, gave up, and I'm now using Julia.

If Mathematica was more open, there would be no "dead end" there, I could simply extend it. Or more importantly, other people would have already.



The first time I encountered Mathematica was 30 years ago, and I genuinely thought that within a decade this would be a tool that everyone would learn in college. A few years later, when working at the university I was a bit puzzled to find that while you could find things like Matlab on the various computer labs around campus (usually running some flavor of Unix), Mathematica was nowhere to be seen. Not even on the Windows labs.

The guy who was in charge of negotiating software licenses for the university said that it was a chicken and egg problem. Mathematica wasn't very available because it was expensive, Wolfram wasn't easy to negotiate with.

With people not learning Mathematica there never developed a demand for it - and because you couldn't expect to get your hands on a license it wasn't worth the investment both in time and money to learn mathematica, or worse yet, to make yourself dependent on it for getting work done.

Mathematica has always been a lovely product. But it has also always been impractical due to its pricing and restrictions. Whether you are in academia, a working professional or just a hobbyist. Which has made it a very niche piece of software. For 30+ years.

There is no reason to believe this will change. And that's fine. It is their software and they can do whatever they want with it. But it also means it is largely irrelevant software for most people, including the scientific community. That isn't a disparaging remark, it is an accurate representation of reality.


> Mathematica has always been a lovely product. But it has also always been impractical due to its pricing and restrictions. Whether you are in academia, a working professional or just a hobbyist. [...] There is no reason to believe this will change.

The hobbyist license is less than $200 per year. What kind of pricing would make it practical for you?

[Edit: The student license (non-expiring) was $139 twenty years ago, $176 today. That may be "expensive" but many textbooks cost more than that.]


Once in a blue moon I use Mathematica as an overpowered calculator. I keep it around partly for nostalgia, and partly because it makes me feel like a true computer scientist.

Every time I use it, I have this mental image of using a 500 ton press to crack a walnut. It's ludicrous overkill, but it brings a certain satisfaction to be able to use arbitrary precision maths when I don't need to, and use nonlinear fits for graphs where nobody looking at the result will even begin to appreciate the difference it makes.

This is the problem -- there is a "long tail" of people like me that have used Mathematica at university that are loathe to let go, but can't really justify the ongoing price.

This is why there are free editions of many paid tools. IntelliJ IDEA and Visual Studio have free "community editions", for example. More importantly, the build tools are generally free.

Even eye-wateringly expensive enterprise products with "call us" pricing have free editions! For example, VMware ESXi, Oracle, DB2, and SQL Server all do.

Wolfram is one of the last all-proprietary, no-free option, no open-source holdouts, especially in the space of "general purpose languages".


It's free for personal use on Raspberry Pis btw, and also there's some kind of free tier for Wolfram Cloud.


Do you have a link for the free Raspberry api use?


Just run “sudo apt install wolfram-engine” on Raspbian.


> no-free option

Perhaps Wolfram Alpha is a "free option" for the once-in-a-blue-moon use case.

But you might lose any work at any moment, if Wolfram decides to turn it off.


It has to be low enough for mass adoption. I’d guess $2/mo or $10/yr.

I paid for the $200 license back in high school 10 years ago and it was absolutely amazing; Really ahead of its time and well worth the money. But today as a software engineer the only feature I’m missing in Python is the ability to run natural language expressions in the middle of my code. Besides that, Python is far superior thanks to the community investment and the ability to easily deploy my code.


I agree. I am still using Mathematica 5 for Students, which I purchased when I was a student. Despite the fact that at the time I bought the version for Windows, it is worki g like a charm on my Linux laptop thanks to Wine.

Nowadays my daily workflow is mainly based on Python and Julia, I use Mathematica just for symbolic calculations (solving differentialequations, computing integrals...)

P.S. Once I had the chance to use Mathematica 12 on a server in my University, but I found that it offered nothing that I could need that wasn't already in version 5...


For the record, the question was not about getting "mass adoption" but about the price that would make such a lovely product worth it for a hobbyist. Most hobbys are much more expensive than $10 per year!


Sure, I’d gladly pay $200 again if it had a large community and a deployment story. What I meant is that I wouldn’t use it again unless it achieved mass adoption. That in turn requires dirt cheap pricing even if I don’t directly care about the price.


That's kind of the problem: $188/y is almost twice as much as it costs to distribute an iOS app. It's two times the cost of a hobby dyno from Heroku for a year.

What can you do with a hobby license from Wolfram? Use the software. You can't really distribute it, put it in production, or anything else besides serve your own compute needs. They forbid you from using the Home versions for any non-personal use: you can't bootstrap your startup with it. You're not allowed to get reimbursed for it by your employer. You're not allowed to use it for academic purposes. The service plan lets you use your license on a second computer, but dual boot counts as a second computer. You can't upgrade your license, you can only buy a new one. It's almost as though they don't want you to use their software.

Why would anyone who doesn't already have experience with Mathematica pay for this license?


Who does pay for this license? Someone who wants to use Mathematica, I guess.

You can get a 15-day trial, by the way.

Why would anyone pay $100+ for a couple of games? Or for Photoshop? Or for a pair ski goggles? Or for a bottle of wine? Or for a ticket to a show? Or for a radial saw?


The things you listed either are what that type of thing costs, or have free alternatives that you can develop interest and skill with. Adobe doesn't tell you what you can do with the pictures you make or edit.

The difference with Mathematica is that if you don't know you like and need it already, there are numerous free and less expensive tools that do a great job, and they (usually) don't have restrictions on what you can do with them. I can make a Python notebook and start a business with it. I can use my hobby Julia code for academic research.


Depending on what you are trying to do saying that Python or Julia are great alternatives to Mathematica is like saying that Java is a great alternative to Python and Julia.

Some people find enough value in Mathematica, Matlab, Tableau, JMP or commercial IDEs, compilers, libraries, etc. to prefer them to the free unrestricted alternatives available.

Some people like iPhones and Macs, some people say that there are numerous less expensive devices that do a great job and don't have restrictions on what you can do with them.


In terms of price: a price point that means a significant portion of my peers will also pay for Mathematica without too much hesitation. The value proposition changes radically when a tool is something "everyone" runs or which everyone can afford to run.

But pricing isn't the only problem here. The licensing model would have to be far more permissive. Plus I think any language that hopes to be successful would at least require an open source compiler, runtime and standard library.


> a price point that means a significant portion of my peers will also pay for Mathematica without too much hesitation

A perpetual license for Office Professional 2021 costs low double digits (depends on locale). They also don't really enforce checks for non-commercial use. As a result, almost every office uses Excel. It still doesn't replace python/C++ for deployment.


> As a result, almost every office uses Excel.

I'll have to disagree with your conclusion.

Excel has been the de facto standard for spreadsheets for a couple of decades so its user base is not because of how the office suite is priced right now, but because it is "what everyone uses".

This effect is even so powerful that despite Apple's suite (whatever it is called this year) being free, and various free online offerings exist that are adequate for a large chunk of users, Microsoft can still price licenses relatively high.


I've been using Mathematica since it came out in 1988, then off University of Illinois site license (it was developed there), and then keeping a personal hobbyist license live.

The hobbyist license wasn't priced by the year, just outright single charge. Is the by-the-year version you see one with continued upgrades?

[ Edit : the edit directly above answers this. thanks! ]


Mathematica is like $3k for a commercial license with the kitchen sink. Matlab can cost that much for like the database toolbox addon or the ML toolbox add-on. Mathematica is cheap in comparison.


> There is no other use for Wolfram Language scripts outside of Mathematica, which comes with a "license server". That's... a dead end.

Yes. They call it Wolfram Engine

>Can I publish Wolfram code in Docker Hub and expect it to work (legally)? No.

Yes, they call it Wolfram Application Server (does require a license)

>Can I throw some Wolfram code into an Azure Function and have it compute something for me on demand? Nope.

Yes: https://reference.wolfram.com/language/ref/RemoteBatchSubmit...


My Raspberry Pi 3 came with Mathematica. If I write Mathematica code on it, put the device in a box and sell it, I just violated the license agreement.

Contrast with gcc.


I'll believe it when I see it, because right now there is no alternative. I wrote a piece of physics software recently and sympy (and indeed python in general) was so lacking in features that I had to write half of the software as mathematica packages, half of it as python. I would have implemented those functions myself but they are actually extremely non-trivial and I wouldn't be surprised if just one of the basic functions I needed had many years of R&D and thousands of lines and edge cases.

Until there is an open source software that can match the raw symbolic power combined with the huge libraries nothing can touch it for a lot of people.


ran into this myself just today, but with Symbolics.jl instead of SymPy. I just needed an algebra scratchpad, and Symbolics was.. barren. and uninviting. I thought of reaching for Mathematica but resorted to pencil and paper, like a barbarian.

same deal with solvers more generally. the coin-or stuff (e.g. Cbc) is slow and buggy, Cplex and Gurobi are far better but very expensive. where are the PhDs in this field? what are they building?


>I just needed an algebra scratchpad, and Symbolics was.. barren. and uninviting. I thought of reaching for Mathematica but resorted to pencil and paper, like a barbarian.

Have you tried Maxima? It seems more ergonomic.


I use Maxima on a Atom N270 netbook. It works greatly, fast and usable. Gnuplot for plotting, and I'm done.


Sympy is good as a scratchpad I think. For my case I needed minimal state space realisations of MIMO transfer matrices. In mathematica this is just two functions. Implementing this in Python could take months


> I thought of reaching for Mathematica but resorted to pencil and paper, like a barbarian.

A very computer-science perspective with the obligatory dose of hubris.

Pencil and paper is continuing to serve a much older, much more consolidated discipline (mathematics) well for... ever since paper was invented.


the barbarian bit was tongue-in-cheek. it's just that symbolic algebra is one of those old-school, classic use cases for computers, like playing chess or guiding missiles or scheduling routes. I enjoy those kinds of moments.


...symbolic computation is a niche ...but Wolfram/Mathematics is also a very good general purpose language/tool.

It would be insane value for everyone if the symbolic niche could also be covered by a general purpose language...


That's the perspective of a software developer. Neither Mathematica nor Matlab actually try to address this market. Both are languages for mathematicians, scientists and engineers and are still mostly unrivalled when it comes to domain knowledge. Python has the domain knowledge in the datascience domain, Julia has pretty good domain knowledge in OR. No one really comes close to capturing the symbolic computation domain as Mathematica does.


Targeting the non-engineering crowd also means they are optimizing for a group that cares less about stability. That allows them to deprecate features, change interfaces, etc. An open source language is inevitably going to attract some maintainers who care about (or are paid to care about) keeping legacy code working.

I haven't worked with Mathematica in years, though, so this is mostly speculation: how strictly do they maintain backward compatibility?


Extremely strictly. They're fond of saying that most programs from v1 will Just Work in version 13. See https://reference.wolfram.com/language/tutorial/Incompatible... for a list of breaking changes. They even document certain bugfixes this way:

> AbsoluteOptions has been reimplemented to be more accurate, and the form returned for a particular option may be different now.

They deprecate stuff, but almost never remove it:

> ValueQ has been redesigned to test for the presence of a definition regardless of whether the definition is used. Old behavior can be restored by specifying "Legacy" as the method.

They play more fast-and-loose with functions documented as "experimental".


> Targeting the non-engineering crowd also means they are optimizing for a group that cares less about stability.

Looking at how many buzzword bingo boards I could make with JavaScript frameworks de jour and even enterprise platforms like .NET I find this statement exactly backwards in practice.

> An open source language is inevitably going to attract some maintainers who care about (or are paid to care about) keeping legacy code working.

Over 20 years I’ve found this to be quite a mixed bag.


I wouldn't lump Mathematica and Matlab together. Not least because Matlab is almost ubiquitous in academia and in engineering while Mathematica is extremely rare.


MATLAB seems to be rapidly being displaced by python is my observation.


The matlab licencing will be their downfall. Its the only licence we have in work that is per seat vs being token (floating) based, due to the cost of a floating license. So instead of having a tool any of our engineers can use, we have it assigned to a few engineers, and the others make do with octave or python. The sensible long term is to standardise on one language, and if it were not for certain toolboxes, that would be python or Julia, most likely. If the matlab licenses we had were floating, mathworks would get the same money, but would be more likely to keep our business, instead of pushing us to look into how best we can replace them.


yup, I'm currently taking Andrew Ng's newly redone machine learning course. the biggest change is that the language has been switched from matlab to python.


Yes, I think you are right.


In physics and obviously math, mathematica is very popular.


What of Macaulay2 and Gap and Magma and so on?

That said, I'm still a Mathematica person at heart.


Counter example: MATLAB. Proprietory software, proprietory language, yet it remains unrivalled in control engineering, DSP, communication systems and so on.

I genuinely hope that Octave can take off and trade blows with MATLAB face to face, but not sure if that will ever happen simply because of the amount of money MathWorks is pumping into developing toolboxes.


> yet it remains unrivalled in control engineering

No, its usage is just declining slower in those areas because ppl don't want unnecessary change introducing unnecessary defects, esp since safety and reliability matters a lot for some equipments, and also engineers spend time on smth else than learning new languages and frameworks.

In 20 years Matlab will be as legacy as Fortran is now, still some left but mostly forgone.


> as legacy as Fortran is now

what are you talking about? There's a lot of numerical code written (and actively developed) in Fortran today. If you are anywhere near numerical mathematics, you are running algorithms written in Fortran that somebody is maintaining.


'Lots' and 'legacy' are compatible.


> In 20 years Matlab will be as legacy as Fortran is now

Not if MathWorks keep offering discounts to universities for putting MATLAB in the courses, gotta get those undergrads "hooked" early before graduating.


I've been involved in some hires of new graduates in both engineering and physics. What I've noticed is that students are acutely aware of job market for programmers, and to a somewhat lesser extent, the relative status of "hardware" and "software." They're differentiating themselves into programmers and non-programmers. I've observed that anybody who can program well enough to do it for money, will eventually be doing so.

They're all exposed to Matlab (it's on every resume), but that could range from actually knowing how to program, to having been given some pre-written scripts to run in a class.

However, the ones who are inclined to program, want to learn a language that they perceive to be relevant to the software development job market. Some of them have gone so far as to take a handful of CS courses and are as up to date on good coding practices as the CS majors themselves. This even includes some students in traditionally non programming fields such as biology and chemistry.

Remember that it's usually easier to learn your second language, so if a student has the itch to program, there's a pretty good chance that they will have learned Python on the side by the time they graduate.


Programming languages are not heroin... people want a tools offering some features and they use whatever has them and is not too hard to learn a new one.

Matlab-class languages are <1 week for anyone smart to learn and usably prodactive at then it's a smooth learning curve up. They're not Scala or Haskell or enterprise Java frameworks...

When Julia gets all the advatanges currently in the Python ecosystem (and it's just a matter of time), it's game over. Ppl use Matlab instead of Python bc Python is weird and slow at many linear algebra stuff... AI/ML ppl are OK with Python bc they rarely write low level numerics code and when they do it has to run on stuff other than regular CPUs so it's C anyway.

If Matlab looses (fairly) we all win. But Mathematica/Wolfram is a different thing... there's all the symbolic computing stuff and the idea of integrating access to a general real-world-knowledge-DB into the language itself in there that will take decades to re-invent...


Not really the reality imho. I was in a cursus where mostly Matlab were taught 10y ago, while I was already programming on the side in Python/R. Most of the students realized after their master that neither academia nor private company were using Matlab and because programming was not the focus, they had a really hard time to transfer their knowledge to any other programming language. Not SW/SE/Dev here, just scientific/engineer cross-over students.

After raising their voices, Faculty finally switched from Matlab to Python for those courses because what matters was your number of hire after their master not to get a deal for a software nobody uses besides two old professors.

And in general, the more academia moves away from private solutions (be it STATA, ArcGIS, Matlab, SAS, etc), education will move from it also. (Belgian University)


Given that Fortran is one of the few languages with first class support for GPGPU development, including graphical debuggers and IDEs, not bad.


>as legacy as Fortran is now

Disappointingly because modern Fortran is a nice language for numerical computing.


Compared to C, sure it is. Probably compared to C++ to since it's less opportunity for obsfucation. Compared to anything else probably not.


Issue is most such codes are written in C and C++. Also anything else usually lacks native multidimensional arrays, element-wise array operations, and parallel programming facilities, let alone raw performance.


> In 20 years Matlab will be as legacy as Fortran is now, still some left but mostly forgone.

This is a joke, right?

In many academic disciplines that involve numerical work, the amount of Fortran code in use today greatly exceeds that of any of the rivals.

Professors were forced to use Fortran by their advisors when they were in school, so most of their code is in it. These professors are not going to allow their students to reinvent any wheels. And the cycle continues. To give you an idea of how extreme this phenomenon is - almost all the Fortran code out there in academia is still in Fortran 77.


No way, Simulink is way too popular for that


> Python, Julia, and Jupyter notebooks will simply wipe out all usage of Mathematica outside of a few esoteric fields.

I'd wager that most of Mathematica's usage today, and in the past has been for those esoteric fields.

MATLAB always had higher market share for numerical work.

Mathematica's strength is in pure math. And nothing out there comes even close - not even SageMath. I wouldn't be surprised if all the pure math open source developers who are also math experts out there are fewer in number than those who contribute to Mathematica. You need detailed expertise in a math discipline. William Stein - founder of SageMath, wrote once on how impossibly difficult it is to get grants to support SageMath - most of them go to Mathematica or MATLAB. So if a math faculty member wants the extra income from grants, he/she is going to write a proposal targeting Mathematica, not SageMath.

Of course, once Stephen Wolfram dies, I don't know if Mathematica will continue to survive. But as long as he's alive, no open source pure math SW will overtake it.


Why would Mathematica die? You think Stephen writes code today?


He runs every aspect of the company. You can see his "live CEO'ing" videos which are very interesting. It's hard for companies like that to survive after the founder dies.


>As a proprietary language and kernel, it can never compete long-term with open source alternatives.

What "open source alternatives"? There aren't any at this level of polish and maturity...

Meanwhile, whatever the "dustbin of history" does, we can continue keep using Mathematica just fine, for 20+ years, and 20+ more...


Mathematica set the standard for Notebooks (as seen in iPython, Jupyter, Sage etc).

If their influence on that is their only contribution to the world, which it is not, then they have made their mark.


I agree wholeheartedly with this. In fact, if Mathematica were open source, I feel it may even encroach upon machine learning applications.

Since finishing up in university, I have sorely missed my free access to a fast and ergonomic symbolic equation solver. Sympy is an unsatisfactory substitute.


For my cases, when during R&D (data science for weather/geo/agro) I rarely need to work with formulas in symbolic representation, Sympy works enough. Cases like combining 2 equations into 1, simplifying, defining numeric coefficients, and printing formulas in TeX representation.


Have you tried Maxima as a symbolic equation solver?


Sage/maxima/etc are significantly worse than mathematica at symbolic operations. Check out these benchmarks:

https://www.12000.org/my_notes/CAS_integration_tests/reports...


Or Sage (sagemath.org)?


Sage uses Maxima though. And a bunch of other things as well.


As a proprietary language and kernel, it can never compete long-term with open source alternatives.

People have been saying this about Windows for the last 35 years.


Java and C# are partially open source, some of the best tools that make them shine are commercial.

Real time bare metal implementations, GUI tooling, 3rd party GUI components ecosystem, data analysis of runtimes in productions without code changes, architecture modeling tools on the IDEs,...


As I understand, Matlab and it'd kernal ate also closed, it's used everywhere.


I don't know if it could really be considered to be in the dustbin of history. Wolfram Alpha is actually what powers Siri and other services like it. It is what gives her the intelligence. That is a massive accomplishment.


Documentation please. Perhaps SRI originally prototyped on Mathematica, but I do not believe our iPhones are running m scripts in a Mathematica interpreter.


"Rather than return a list of Google search results, Siri uses Wolfram Alpha to generate what it believes is the correct answer."

https://www.siriuserguide.com/what-is-wolfram-alpha/ https://www.siriuserguide.com/how-to-use-siri-knowledge/

"Siri Knowledge uses a combination of web searches, inbuilt apps, and Wolfram Alpha to find the answers to a fantastic variety of questions."

If you ask Wolfram Alpha for more information about Siri: https://www.wolframalpha.com/input/?i=Siri

It returns:

"Siri is a personal assistant application for iOS. The application was first available from the App Store, then came standard on Apple's mobile devices starting with iPhone 4S. Siri uses natural language processing to answer questions and perform actions by delegating requests to an expanding set of web services, including Wolfram|Alpha."


> Python, Julia, and Jupyter notebooks will simply wipe out all usage of Mathematica outside of a few esoteric fields.

Yup, and all that's needed for the floodgates to open is for someone to write some sort of converter.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: