Mathematica® is great, but it might have some disadvantages, depending on your point of view.
However, even if you are willing to pay hundreds of dollars for the software, you would not be able to see what's going on “inside” the program if that is your interest. That's what free, open-source, and community-supported software is for!
Mathics3 combines the beauty of Mathematica® implemented in an open-source environment written in Python. The Python ecosystem includes libraries and tools like:
Performance of Mathics3 is not, right now, fast in large-scale projects and calculations. With better use of NumPy arrays, and better compilation, we hope to ameliorate this in the future.
However, right now Mathics3 can be used as a tool for exploration and education and non-computationally intensive use. And Mathics3 provides better debugging and tracing, since we can be completely transparent about every aspect of its operation.