Magma seems to be a good tools for it, but personnaly I don't use it with proposed functions...but very quickly and easy to make the need personnal functions!!
Magma is very good but it is not free, although there is a time-limited version online, GAP is free, but for general ring computations you can also try CoCoA and Singular, also for Groebner bases, e.g. for the computation of the general error locator polynomial of a code.