Would any who uses it now or recently care to make a candid comparison between it and its commercial competitors?
Would any who uses it now or recently care to make a candid comparison between it and its commercial competitors?
Mathematica has a few advantages. The input notation can look more like traditional mathematics: adjacency instead of * for multiplication, superscript instead of ^ for exponentiation, fraction notation. I think that cuts down on errors. Variables are symbolic in Mathematica by default. The Mathematica language is something of a defacto standard and WolframAlpha understands it to a certain extent, so you have access for free if you have internet. WolframAlpha mobile gives you CAS on your phone.
That said, an open source version of Mathematica is desirable and Sage should be supported. I keep a table of equivalences at http://hyperpolyglot.org/math to try to lessen the mental burden of using two equivalent products.
I agree that Sage still needs work (the 100+ bugs submitted daily to the RSS support feed says so!) but it works really well.
Maybe I should have mentioned Coq in my previous list. I installed it a few days ago. Haven't learned to use it yet.
These are probably easily corrected. But solutions already exist within the FLOSS community with other packages such as Sage (and, of course, Numpy and the rest)--reinventing the wheel is something few have time for! :-) This is a big reason I like Sage: it is designed like the Borg in that it uses bindings to connect into other software (both proprietary and open source).
Yes! Star Trek reference and SageMath in the same sentence. It is a good night.
- Mathematica is better than the other stuff for symbolics still and it has a really nice interface. For basic stuff the Python libraries work fine. Check out Maple and its clones too.
- C is for when you need speed above all else (check out Weave, a Python package for executing C code from within your Python scripts, though)
I only know a few Haskell people in the scientific computing world. I'm not sure what the draw is, but if you do a lot of algorithms and don't mind the unpredictable performance, Haskell is a good tool too I'm sure. Ocaml also gets some use in scientific computing if functional programming is your thing.
But the project has definitely produced at least one A++ bit of code: Cython. That is very much worth learning and complementary to numpy (e.g. Cython/numpy integration: http://wiki.cython.org/tutorials/numpy).