Macaulay2 is a mathematical programming language particularly for algebraic geometry and commutative algebra.