Mathematica has some powerful symbolic processing capabilities, for example the integrals, etc. It also contains many powerful algorithms, often written in few lines of code. And its graphic capabilities are good. It also shows some surprising ways to integrate and manipulate data, for example here you can see how you can even put images into formulas, to manipulate them: http://reference.wolfram.com/mathematica/ref/ImageApply.html
So when you need an algorithm, you can often find it already inside, for example in the large Combinatorics package. So it has WAY more batteries included, compared to Python. I'd like to see something as complete as that Combinatorics package in Python. But while the editor of (oldish) Mathematica is good to quickly input formulas (but even for this I have found way better things, for example the editor of GraphEQ www.peda.com/grafeq/ that is kilometers ahead), it's awful for writing *programs* even small 10-line ones. Even notepad seems better for this. For normal programming Python is light years more handy and better (and more readable too), there's no contest here. Python is also probably faster for normal programs (when built-in functions aren't used). Python is much simpler to learn, to read, to use (but it also does less things). A big problem is of course that Mathematica costs a LOT, and is closed source, so a mathematician has to trust the program, and can't inspect the code that gives the result. This also means that any research article that uses Mathematica relies on a tool that costs a lot (so not everyone can buy it to confirm the research results) and it contains some "black boxes" that correspond to the parts of the research that have used the closed source parts of Mathematica, that produce their results by "magic". As you can guess, in science it's bad to have black boxes, it goes against the very scientific method. Bye, bearophile -- http://mail.python.org/mailman/listinfo/python-list