Also look at octave. Its OSS, and mostly m-file compatible.
I have been trying out Sage. Although it looks very attractive on paper, the browser-based interface seems very odd way to go about it, and I couldn't get over the hump of adapting to that.
Any suggestions as to how to think about that? Could someone explain the advantage?
You don't have to use the browser-based interface if you don't like it. There's also a standard shell based on iPython if you prefer. If you want, just treat it as Python with a ton of mathematical stuff built in.