7 ms·
I use Mathematica frequently and, within the niche that it serves, it is starting to remind me a lot of Excel. Both are commercial software, have a low barrier
by prof-dr-ir 4y ago
I use Mathematica frequently and, within the niche that it serves, it is starting to remind me a lot of Excel.
Both are commercial software, have a low barrier to entry, are powerful enough to run the software for a nuclear power plant, have enough footguns to make this a terrible idea, and are so overused that it might be happening anyway.
But I do not think we will get rid of it any time soon.
- cube2222 4y agoCould you expand on, for a person who only dabbled with Mathematica some time back, what that niche is?
- prof-dr-ir 4y agoMathematica usage appears widespread in my own domain of theoretical physics, but it is probably used in elsewhere as well.
- mhh__ 4y agoA good niche for mathematica is finance: type in your equations, tell it what "type" your variables are, let it solve them. Let the machine get it right.
- CuriousCosmic 4y agoAs a random computer engineer, I find using mathematica to be extremely convenient when trying to grok a problem or lay out a first attempt at a solution. Of course it isn't really helpful when dealing with glue issues (i.e. making software work together) but it is really good at letting you experiment at a high level and put together an algorithm to process/interpret/transform/generate some data. I say it's good for high level experimentation because basically every function/transform/operation/solver you could ever need is present in the standard library [1] and stuff "just works". IMHO it's not really something you'd want in production but it lets you get an MVP for a given problem/solution working faster than any other tool I've used and all while rarely needing to even consider a 3rd party library. You can then focus on just mapping that MVP to whatever language/library/ecosystem you are actually working in. 1. https://reference.wolfram.com/language/ https://reference.wolfram.com/language/
- neltnerb 4y agoIt used to be the big differentiator was the ability to do symbolic math and actually solve equations. Maple could also do it, as could the TI89, so I never really got into it. It was just a huge difference from Matlab. But if I have an actually nasty equation to solve, like a system of differential equations with erf functions or something, I do actually go to wolfram alpha for help. It happens more often than I'd like, it's especially nice that no matter how nasty the equations you can still use units.
- danuker 4y agoThe reason I might find Mathematica interesting is its language, which I found to be on my popularity-brevity Pareto frontier. https://danuker.go.ro/programming-languages.html#non-math-map https://danuker.go.ro/programming-languages.html#non-math-ma... So, it can express an average Rosetta Code non-math task in ~180 bytes, compared to Python, ~270, or Java, ~420. I guess this is because of its vast libraries of "batteries included". Where it all falls apart is sharing. Nobody can run my creation, and even Mathematica Home Cloud is $194/year, which I find pretty steep, being used to free & libre software. Monetizing is a whole different story, with commercial licenses starting at $1620/yr, which I could only justify if I already had a team wanting to learn the language and a large-ish profitable business service whose source code I wanted to convert to a locked-in solution for some reason.
- SomeHacker44 4y agoI bought a one time home license for like $200ish a number of years ago and it still works, and will likely work forever. I have transferred it between computers and even OSes over time. Worth it. I pay as much for JetBrains annuallt and way more for the Adobe stuff I use maybe twice a year.
- whitten 4y agoAre one-time licenses a thing of the past ?
- 4y ago
- milkthefat 4y agoIt's extremely versatile which makes it able to solve some neat problems. My favorite example is this was a CodeGolf to find if a goat in an image is upside down. - https://codegolf.stackexchange.com/questions/71631/upgoat-or-downgoat https://codegolf.stackexchange.com/questions/71631/upgoat-or...
- lordgrenville 4y agoFor those who didn't click: Mathematica stdlib contains a "detect goat" function.
- paraph1n 4y agoThat's not quite true. The function call in question is > ImageInstanceQ[x,"caprine animal",RecognitionThreshold->i/100] I think it's less misleading to say it has a generic image recognition function that supports goats, among many other recognition targets.
- danuker 4y agoCould you illustrate some footguns of Mathematica/Wolfram Language?
- prof-dr-ir 4y agoMultiplication with multi-dimensional arrays comes to mind (not unlike numpy, actually). Rare bugs when simplifying symbolic expressions. Unconventional definitions of special functions. Probably several others that I am forgetting now. More importantly there are lots of possibilities for disaster caused by the lack of typing, and complex Mathematica code quickly becomes impenetrable. Oh and version control systems are all but useless for the main ".nb" file format. Again, just like Excel.
- coldtea 4y agoSo, still like a 100x improvement in the areas you're concerned with, compared to using any standard programming language (to either re-implement the same stuff or use third-party libraries)? I mean footguns in "Multiplication with multi-dimensional arrays"? That's a problem with Mathematica as opposed to what? Implementing it yourself? Using a third party library for that (that you have to also find and assess it's doing the right thing - which apparently numpy also doesn't as you say). Another specialized tool (and wouldn't that just have it's own footguns)? If you just said "it has its set of caveats that you need to be careful about" that would be understandable. But your wording/tone implies that Mathematica is somehow worse, and using it is (your words) "a terrible idea". So, what are those wonderful alternatives that don't have the same and much worse issues?
- deleted 4y ago[deleted]
- smoldesu 4y agoBattles have been fought over dumber things. Writing system-critical code in Mathematica is probably "a terrible idea" for most applications that don't make enough money to justify paying for a license. For the people who do pay for that license... don't they reserve the right to complain about "multiplication with multi-dimensional arrays"? Neither of you have to be wrong, but insisting that Wolfram isn't liable for the situation isn't right. They built the moat, now they have to deal with people falling in on both sides.