4 ms·
Multiplication with multi-dimensional arrays comes to mind (not unlike numpy, actually). Rare bugs when simplifying symbolic expressions. Unconventional definit
by prof-dr-ir 4y ago
Multiplication 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.
- danuker 4y agoIndeed. I think they're experimenting with moatless because a worse thing than people complaining about your language/software is people not using it at all.
- icapybara 4y agoWhy is element-wise multiplication for a multi-dimensional array a "footgun"? You try it once, realize it's doing things element-wise, and then go lookup the proper product symbol (@ in numpy).
- oivey 4y agoI think I mostly like that element of NumPy’s design. 2D arrays are in general not matrices. Images, for example, do not have matrix multiplication semantics.
- danuker 4y agoI guess when you have a software package named "Mathematica", mathematicians expect to be able to take their math and transliterate it easily. Making them specify the "Dot" function would irk them. I don't know the motivation of the decision, but "ElementwiseProduct" is harder to type, and still has a lot of use cases.