So I attended a class down at Rutgers yesterday. It's an experimental mathematics course taught in Maple. Since I'm a python-only kind of guy, it was extremely interesting for me. I don't have a Net-Id, so I can't access anything off the Rutgers machines. I popped out my laptop which had both Python and Mathematica on it (but no maple) and began coding along in Python. Whatever the teacher would write, I'd write it in python and it would look prettier and be shorter because of the nice language.
Until the professor got to the point where has wanted to start a system of equations and defined some polynomials full of variables to begin. I'm feeling like a
badass for doing everything in a cooler language. He then performed operations in Maple to the polynomial and set it to a different one to get the system. Of course, now I'm thinking, how will we store this polynomial? (There are ways to generalize to noncommutative, there are ways to make it easier to plug in, there are ways to make it easier to do different things.) And while I'm deciding, he's done.
The thing is, since I'm not using a built in algebra system, I have to make a bunch of decisions each time I store a mathematical object. The main choices would be Mathematica, Maple, and Sage (Magma is important too but I've been told to call it through something else by people who know.) I think I'm gonna learn Sage soon. It doesn't mean I have to store things the same way when doing my python programming. It just might help me in certain situations.