Stack Exchange network consists of 183 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.
+1 for Inkscape, especially when used with the LaTeX render function. It's nice having diagrams in vector (SVG) form, so that they can be easily rescaled, layers changed and so on, as needed.
I tend to use Python with Numpy barebones as it were, without the Sage environment around it. I prefer the combination of interactive and scripting methodologies which I can use with Python rather than the notebook methodology of Mathematica. Sage (at least through the web interface) is more like Mathematica and does cover many of the things you might do in Mathematica. I do sometimes crank up Mathematica to plot a quick graph (Manipulate is a great exploratory tool) but tend to get aggravated by things I would know how to do easily in Python.