24
$\begingroup$

A bit of a loaded question, but in your opinion is Wolfram's team making good progress on improving their software?

I've used Mathematica for almost 10 years now, and honestly I'm personally surprised by how little things have changed since then. I personally see a lot of improvements that can be made to the system and wonder why they aren't done.

What is the community's opinion on the development team's progress as a whole? (Ideally only feedback from people who don't work there, for no conflict of interest).

Maybe there's not enough people using the software or there's not enough demand? I know there can be a lot of incentive problems within tech companies so I was curious what the communities thoughts are on it.

$\endgroup$
10
  • 11
    $\begingroup$ I feel like with anything complex, the answer is both yes and no. There have been lots of improvements in terms of getting cloud support to the point that people can (almost) host documentation in it. The FE now runs on a 64-bit platform on Mac. There's greater support for stuff like NumericArray and clear interest in improving on that. On the other hand, no matter what your field there are many things where you might want something to have been done, but it hasn't. My big thing is that packaging is still iffy, which dis-incentivizes the community to actually contribute to the system. $\endgroup$
    – b3m2a1
    May 12, 2020 at 1:36
  • 3
    $\begingroup$ I'm interested in what you want when you say: "I personally see a lot of improvements that can be made to the system and wonder why they aren't done.". We've all got things we want done, and I'm wondering which angle you're coming at this from. $\endgroup$
    – b3m2a1
    May 12, 2020 at 3:44
  • 3
    $\begingroup$ I think this question belongs on the main site. Meta is for questions about Mathematica Stack Exchange. $\endgroup$ May 14, 2020 at 20:09
  • 2
    $\begingroup$ @StevenSagona At my institute (physics) people use it a fair bit for symbolic stuff. Actually, I would have said that the issue is that people tend to use it as a fancy symbolic calculator or plotter, and ignore the other abilities. It has always been my impression that physics has been a traditional stronghold of Mathematica. In other areas of physics (that they don't do at our institute) it is even more popular, see hepforge $\endgroup$
    – Szabolcs
    May 16, 2020 at 8:11
  • 3
    $\begingroup$ @b3m2a1 "My big thing is that packaging is still iffy, which dis-incentivizes the community to actually contribute to the system." <-- This, 10 times. There are multiple projects that started out on Mathematica and moved fully to Python, e.g. xcellerator. I think this is the main reason. $\endgroup$
    – Szabolcs
    May 16, 2020 at 8:16

5 Answers 5

25
$\begingroup$

Mathematica is very large and complex software which covers many many different areas.

I can only comment myself on few areas. In the area of integration, this bar chart shows the progress made. This is for integration test using 14,944 integrals of many types

Integration

(Just updated to add 12.1 after it completed building). There are 2 integrals, out of 14,943 that 12.1 did not solve compared to 12.0, this explains why 12.1 got 94.42% and 12.0 got 94.43%. Still, the overall curve is upwards, but may be the curve is flattening now. But 94.4% is good score anyway, these are hard integrals. See these-indefinite-integrals-evaluate-in-12-0-but-not-in-12-1-what-can-be-done if interested to know more.

enter image description here

But the quality of the anti-derivatives has improved. This chart shows the percentage of A grade of anti-derivatives for same test over the years. A grade means optimal anti-derivative. (Higher is better)

enter image description here

There are 4 grades for each integral. A,B,C and F. Where A is best, and F for not able to integrate it.

The leaf size also improved. Lower leaf size is better. This is the size of the anti-derivative. This chart shows good progress in this area where the average size has decreased. (Lower is better)

enter image description here

So overall, I would say that Integrate has been improving over the years.

DSolve for PDE

For DSolve in the area of PDE's, using test suite of about 2,000 PDE's, here is the result

Mathematica graphics

This shows steady and good improvement in this area.

DSolve for ODE

In the area of DSolve and ODE's, using the famous Kamke's set of ODE's (1,940 differential equations from Kamke book), this is the result

Mathematica graphics

This also shows steady and good improvement in this area.

Some of the things that WRI needs to improve on is overall quality and performance of the FE and or the kernel, to make things more robust and less prone to hangs, crashes and sudden freezes, specially when using Dynamics.


Oh, and I forgot one thing we all need and been waiting for for many many years: an easy to use debugger !!

Edit

Additional related charts on this subject are at

Differential equations, version 12.3 and improving the level of the questions

$\endgroup$
7
  • 1
    $\begingroup$ I think this is fair. One comment here is that I'm honestly not sure how many of these solutions are actually useful. While technically Mathematica can do a lot, we're at a point were even simple analytical problems can end up being obfuscated. You might get a solution to your differential equation but if its a nasty long expression that can't be written on the page, then it defeats the point. $\endgroup$ May 12, 2020 at 21:03
  • $\begingroup$ You often solve DEs with Maple that cannot be solved with Mathematica. In your judgment, which works better for symbolic solution of DEs? $\endgroup$
    – bbgodfrey
    May 15, 2020 at 1:38
  • 4
    $\begingroup$ @bbgodfrey for analytical solutions of DE's, Maple still has small edge. For Murphy's collections of ODE (2,313 ODE's), Maple 2016 scored 95% and Mathematica 11 scored 85% (this needs to be updated to current version). On Kamke's collection, Maple 2020 scored 92% and Mathematica 12.1 scored 84%. But DSolve has been improving by few percentages over each release which is good. Also Maple's ODE solver still has more options and Misc. functions than DSolve has. $\endgroup$
    – Nasser
    May 15, 2020 at 1:48
  • 3
    $\begingroup$ +1. Though if you used the same range [0, 100%] over the y axis of your histogram (en.wikipedia.org/wiki/Lies,_damned_lies,_and_statistics), someone could argue that indeed little progress has been made e.g. for integration :-) $\endgroup$
    – chris
    May 16, 2020 at 7:21
  • 1
    $\begingroup$ @StevenSagona Maybe you're thinking of SageMath? As far as I'm aware, Maple is proprietary software, not open source. $\endgroup$
    – MassDefect
    Jun 9, 2020 at 23:09
6
$\begingroup$

To be quite honest, I'm increasingly disappointed by Mathematica's progress. Yes, some of the core functionality has improved in efficiency, but there are still gaping holes in what you'd think would be important core areas, things that are important to many different fields.

For a key example, consider FullSimplify itself. FullSimplify has had a bug where just renaming variables can change its output in fundamental ways (sometimes up to completely breaking its functionality) for at least six years; according to its own documentation it hasn't been updated since 2014, a solid two and a half versions ago. It behaves weirdly and inconsistently with assumptions, and can't seem to handle custom ForAll rules as generally as the documentation claims. It's very hard to argue that this is a niche interest, too, since it's one of the core functions of any CAS.

Graphs were introduced in 2010, but up until very very recently have had almost no actual support; I remember as late as two years ago finding functions that straight-up didn't do what the documentation said they did and behaving oddly any time you weren't dealing with a simple graph (i.e. anything with multi-edges). Symbolic vector and tensor manipulation is also oddly primitive for a CAS; Mathematica doesn't even understand the distribution law for dot products, and thanks to the poor performance of FullSimplify it's difficult to implement such laws yourself.

Meanwhile, there's been entire new packages added for things like neural networks, which Mathematica is fundamentally poorly built for not least because of the above limits on simplification and symbolic tensors. As a big fan of functional programming I'm somewhat in support of their new functional programming packages -- but it, and the neural net thing, and the recent cloud support, really makes me feel like Wolfram has just been chasing the latest fad for years instead of actually focusing on making their core product any better.

$\endgroup$
12
  • $\begingroup$ The behavior noted for FullSimplify is in the nature of the beast. It is not a bug. As for ForAll, possibly the better functions to use in further manipulations would be Resolve or Reduce. Regarding neural networks, I am not sure how improvements in symbolic simplification and/or working with symbolic tensors might be of benefit. $\endgroup$ Sep 27, 2021 at 14:52
  • $\begingroup$ It's a bug. It doesn't do the predictable thing, and it doesn't do the thing it's intended to do, namely reliably simplify expressions. Even if it was some fundamental difficulty of the problem, it'd still be a bug. But also, it's really not. There's a five second patch job -- just canonicalize your variable names first, then at least you have deterministic output that doesn't depend on semantically irrelevant parameters. $\endgroup$ Sep 28, 2021 at 7:55
  • $\begingroup$ Reduce and Resolve operate on equations and relations, and as such are simply not the right tool for the job. I want to simplify expressions, not reduce propositions. $\endgroup$ Sep 28, 2021 at 8:01
  • $\begingroup$ (1) I was providing the information so you could decide whether and how to work with the software. If you choose to fight with it, that's fine too. Regarding Resolve and the like, I mentioned those because they are used in handling quantifiers such as ForAll. It might happen that members of the Simplify family also handle it at times, but that would be incidental rather than fundamental to what they are designed to do. $\endgroup$ Sep 28, 2021 at 13:41
  • $\begingroup$ (2) For the result of Simplify and family to be both no larger than the input, and also a bug, it would need to be, at a minimum, mathematically different from the input. Even then some exceptions are allowable in the framework of what they do. A fundamental tenet of this functionality is "You get what you get". Canonicalization, whatever that might mean, is not part of the bargain. $\endgroup$ Sep 28, 2021 at 13:44
3
$\begingroup$

I use Mathematica daily. I couldn't live without it. It's one of those things until you have it you don't know what you are missing and when you do you cant do calculus by hand anymore. I just wrote code in Mathematica that outputs Indian classical music pieces on its own. If that does not impress you, nothing will.

$\endgroup$
3
  • 4
    $\begingroup$ It would be really cool if you needed to self-answer a question you asked and had to share that code :O $\endgroup$ May 16, 2020 at 15:49
  • 3
    $\begingroup$ This doesn't address my question at all. I understand you use Mathematica daily, but the question is if you think Mathematica has adequately improved over the years. For example, are you using features that we added in the last 10 years? Have there been any new versions that you've been happy about? Have the new mathematica versions actually changed your mathematica experience at all? $\endgroup$ May 19, 2020 at 7:30
  • $\begingroup$ yes to all the questions. The latest version is the best. $\endgroup$ May 22, 2020 at 3:35
3
$\begingroup$

My answer would be (Feynman's famous question): "Compared to what?"

I'm fully immersed in the symbol-manipulation power of Mathematica and while I haven't studied other systems in any depth, I'm immensely impressed by the powerful functions and kinds of problems that are now amenable to symbolic computation.

The curated databases continue to grow.

My only real complaint is that it is still awkward and difficult to search for and through curated databases. Mathematica's natural language interface is simply not up to the job.

Example: I wanted to determine whether there was a database of reflectance spectra of common surfaces (a leaf, paper, apple, etc.). I consider myself a superb Mathematica programmer with decades of experience, nevertheless I took quite a long time searching and never found what I was looking for. Frankly, I still don't know if I simply missed it, or whether it doesn't exist. How does one know??

Nevertheless, I'm a complete devotee to the language and wouldn't switch for the world.

$\endgroup$
6
  • $\begingroup$ I mean, that's not really a useful answer IMO. Mathematica is a commercial product which has had years to improve and many major versions; the question isn't "is it better than its competition", but rather "is it as good as it could be, given the amount of resources we pay for it." Not least because the former has horrible incentives towards just crushing your competition instead of improving your own product... $\endgroup$ Sep 28, 2021 at 8:00
  • $\begingroup$ @linkhyrule5: Well, to be more specific, then, I'll say Mathematica is IMPROVING faster than the competition, and has consistently led the competition in new functionality. It was (and is) FAR ahead of its competition in symbol manipulation, it pioneered "computable knowledge" (as distinct from search). Tell me: what software system do YOU think "is as good as it could be given the amount of resources we pay for it"? My own experience concerning COST (which looms large in your mind), is that even a SINGLE function that saves me one day of processing more than pays for the cost. $\endgroup$ Sep 28, 2021 at 17:35
  • $\begingroup$ shrug Honestly, I'm just not in the habit of making excuses for large corporations with multimillion-dollar budgets. I'm fundamentally not happy with "good enough", or "better than nothing", because I (and others) have to keep paying Wolfram for new versions. $\endgroup$ Sep 29, 2021 at 12:13
  • $\begingroup$ Nobody is asking for you to "make excuses." I asked if you think anybody is doing better than WRI... and apparently you can't think of anybody. And do you have any idea how difficult it is to develop a system like Mathematica? (or Matlab? or ....) $\endgroup$ Sep 29, 2021 at 16:12
  • $\begingroup$ I don't think anyone is doing better, no. I also don't think that question is particularly relevant. I don't think "see if anyone else is doing better" is a good standard, because among other reasons it's very easy for a powerful corporation to make sure of that by predatory business practices. It's precisely because I don't know how difficult it is to develop a system like Mathematica that I don't really trust the market to tell me. – $\endgroup$ Sep 30, 2021 at 1:23
1
$\begingroup$

I'm a former derivatives trader, and an amateur user of WL. I've been around since v11, after Association came about, which seems to be the most substantial development in quite a while. While I have no doubt many parts of the language are becoming more optimized, I haven't witnessed any breakthrough functionality. I enjoyed WebExecute (12.0) and the new bracket/brace/etc. formatting from AutoOperaterRenderings (12.3), but both of those are quite trivial.

For the gurus here, I know there are endless problems to be fixed that you have complained about for years. But if overnight those problems were solved, would anything really be different? Sure the bugs would be fixed, but I don't think that means the language has evolved. The rest of the world does not care about WL. And if a true breakthrough really did come about, would anybody besides the people here care? What good is improvement in the language without growth in adoption?

Nevertheless, I love the language, and I have no desire to ever use anything else again.

$\endgroup$
1
  • $\begingroup$ I mean, the people here are using Mathematica for things like engineering, biochemistry, fundamental physics. So yes, yes people would care, at least if they were aware of the full scope of the consequences. $\endgroup$ Sep 28, 2021 at 8:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.