27
$\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
  • 12
    $\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
  • 3
    $\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
  • 4
    $\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

6 Answers 6

29
$\begingroup$

Update January 19, 2024. added V 14 integration result (differential equations and PDE's update for V 14 will take more time to complete)

Update July 12, 2023. added 13.3 integration result (differential equations and PDE's update for V 13.3 will take more time)


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

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.

I can only comment myself on few specific 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. These integrals are a subset of Rubi's full integration test suite.

Integration

The percentage solved remained the same for V 14 as V 13.3.1, at 98.68% but the grading and leaf size improved. It is probably hard to improve much when % solved is as high as it is now.

Note that the percentage solved have been corrected for all systems to count integrals that were not solved but are known to be not integrable as passed instead of failed as before. The Rubi test suite has number of integrals that are not solvable.

This now match the way the Full CAS integration test count things.

enter image description here

The quality of the anti-derivatives has improved in V 14. 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.

enter image description here

The leaf size also improved.

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$
9
  • 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
  • 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
  • 1
    $\begingroup$ I have two comments, based on both the original note and the recent update. (1) Yes, Integrate has improved of late, both indefinite and definite. Of those, I'd say indefinite is the less important, and neither is really all that important in the grand scheme. I write this from the perspective of a developer who has been heavily involved in these improvements... $\endgroup$ Jul 12, 2023 at 16:50
7
$\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$
22
  • 1
    $\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
  • 2
    $\begingroup$ (3) "Five second patch job"? I have to say that one brought a smile this morning. (Might have been a smirk, I don't have a mirror handy.) Point being, I've done this stuff for a while, and I actually get paid to figure out what are the tar pits to avoid. In a nutshell, this approach will fall short because it is the variable ordering rather than naming that matters. $\endgroup$ Sep 28, 2021 at 13:49
  • 2
    $\begingroup$ (2) The Simplify family is not a set of mind-reading functions. If it does not do what you want, the best practical advice is to use different functions. Insisting it is a "bug" is not going to help get your work done. $\endgroup$ Sep 28, 2021 at 21:16
  • 2
    $\begingroup$ (3) Playing word games? No. I am simply explaining that a certain behavior is not a bug. And, apparently, wasting my time in so doing. Over and out. $\endgroup$ Sep 28, 2021 at 21:18
  • 3
    $\begingroup$ (Against my better judgement...) Some background and a variable ordering workaround $\endgroup$ Sep 28, 2021 at 21:42
7
$\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
  • 1
    $\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
  • 1
    $\begingroup$ @linkhyrule5: Wolfram Research is very much NOT a powerful corporation involved in predatory business practices. So many other languages are more popular than Mathematica. I suspect Matlab (to take just one example) outsells Mathematica 10:1. $\endgroup$ Sep 30, 2021 at 2:28
4
$\begingroup$

I use WL almost daily in a variety of roles, mainly focused on prototyping data processing or signal processing applications. I go back a fairly long way with Mathematica to V4.1 so can say it has improved steadily across many, many areas. To contrast, I also use Matlab, R and Python depending on the end use and expected production environment. WL and Mathematica are my first go-to for problem solving but I generally end up with other end environments for production use. The reasons vary, but many times the deployment cost and integration with other computing environments is generally more favorable with non-WL environments.

A couple points that have irritated me are the continuing addition of functions which roll-up or specialize existing functions. The functional churn on small-scale changes is problematic for continuity of understanding and applying WL. The addition of arcane functions is also a continuing irritant when the main functions need optimization for speed and deployment - one V13.3 example would be RegionHausdorfDistance - how many WL users really needed this function when those Wolfram resources could have been spent elsewhere? I am certain a couple users were happy to see that function, but at what cost in overall software bloat and complexity? The breadth of WL is its great strength and weakness at the same time.

The help system also could use some restructuring in the absence of any real documentation. I find myself running through loops of links which are tangential to getting direct help for a syntax issue. The increasing appearance of 'hidden' syntax connections documented in forums like this is also occasionally vexing.

Would I quit WL and Mathematica? - no, but I am exhausted by the functional churn. Sometimes I get lucky and there is a new function or feature which actually helps, but most of the function churn at each new version will never be used by me.

$\endgroup$
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
  • 5
    $\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
2
$\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 and acknowledge you have read our privacy policy.

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