Wolfram Mathematica 7 has an increasing popularity among computer science and computer engineering students, but what are the main benefits and features it offers?
Here are a few:
- Symbolic math
- Numerical methods
- All the statistical and math functions you'll ever need
- An API and programming language to tie them all together
Since CS students sometimes have to help solve real problems in physics and engineering, Mathematica can help.
For computer engineering (and engineering in general, I suppose) I would say that MATLAB is more relevant. Maybe it doesn't do symbolic math quite as well as Mathematica (though there is a symbolic math toolbox that works quite well) but in engineering you are mostly looking for a numeric approximation anyway, so it won't matter.
MATLAB is insanely good for solving anything that has to do with matrices (and, incidentally, everything seems to be ;)) and has a toolbox for anything you might want to do from signal processing, automatic control, LEGO Mindstorms programming.
I am soon finished with my Masters in Computer engineering and I have never used Mathematica in any course, even though it is installed on quite a lot of the machines at the university. MATLAB, on the other hand, is used frequently in all sorts of engineering courses.
I use Mathematica and C++ for my work. I love to work in Mathematica because I think programming in it is like casting spells (lisp comes to mind). Within a a few lines you can pack so many ideas that, after a while when you move to a lang like C++ or java, its like somebody has tied your hands.
But I still do go back to C++ to get my programs to work fast. However quickly prototyping everything in Mathematica simplifies my life greatly because i at-least know what exactly i need to do. Hence I can just focus on the craziness of C++ language.
FWIW even though Mathematica and Matlab seem to use most of the same *PACK libraries Mathematica runs faster for most numerics tasks.