Instead of creating a new programming language, SageMath uses the extremely popular programming language Python (with some optional minimal preparsing).  Thus the language design decisions were mostly made by software engineers, rather than mathematicians.  That said, the only sense in which you have to declare variables is that you can&#x27;t just write x + y without any further thought (you have to write &quot;y=something&quot; first).  This avoids some mistakes due to typos, which are common in Mathematica. It also makes it easier to endow variables with more precise structure (e.g., make y a polynomial over a finite field).