We describe some of the more important aspects of the design of CoCoALib, a new C++ library for effecting Computations in Commutative Algebra. Special effort has been invested in making the code clean and portable while not neglecting run-time performance;
one of the primary goals is to offer freely available reference implementations of the most important algorithms in the field.