If you have Magma, Maple or Mathematica and don't mind restricting who can use your code, you could also implement parts ofyour program in one of these systems and make it available in SAGE.
GAP, Singular, and PARI are all included with all distriubtions of SAGE. All three programs are very mature, and each has a deep highly nontrivial functionality, though in different domains. GAP addresses group theory well, Singular attacks polynomial computation, and PARI contains sophisticated optimized number theory algorithms. Notably absent from this triad is a good system for exact linear algebra (something MAGMA does extremely well), but this gap is being filled by code being written for SAGE.
SAGE is not just about gathering together functionality (something UNIX already does well), it is about providing a clear, systematic and consistent way to access a large number of algorithms, in a coherent framework that makes sense mathematically. In the design of SAGE, the semantics of objects, the definitions, etc., are informed by how the corresponding objects are used in everyday mathematics.
See About this document... for information on suggesting changes.