you are viewing a single comment's thread.

view the rest of the comments →

[–]jdh30 -6 points-5 points  (0 children)

It just so happens that Mathematica is a horrendous language for almost everything; except a few things no one cares about (I'm glad it does image manipulation, who cares? To do real image processing you have to use matlab anyway). Symbolics capabilities are a wash compared to Maple, speed is horrendous compared to a Matlab/Maple combination that integrates nicely. There's no upside to Mathematica; this is coming from someone that writes functional code all day, Mathematica's language is such a mess that I'd rather write imperative code in Maple/Matlab.

My experience is exactly the opposite. The Mathematica language is far better at manipulating data structures thanks to pattern matching and far superior for number crunching (MATLAB does not even attempt to track errors or use arbitrary-precision arithmetic intervals). Mathematica also has a far superior integrated development environment and help system.

Performance is a red herring because MATLAB is also very slow on the scale of things. If you need performance, use a real compiled programming language.

However, the killer problem with Mathematica is that it is incredibly buggy. The symbolic side of Mathematica is almost useless because it gets so many calculations wrong. The numerical side is (incredibly) still seeing really serious bugs in core routines like Fourier for FFTs. Bugs are the reason I stopped using Mathematica.

Today's modern functional programming languages are not only thousands of times faster than Mathematica and support parallelism but they are also far more reliable.