

A Survey of C and C++ Software Tools for Computational Science (2009) [pdf] - majke
http://www.softeng.rl.ac.uk/media/uploads/publications/2010/03/c-c_tools_report.pdf

======
santaclaus
A reasonable, if a bit outdated list.

In an updated list, I would add the Eigen matrix library [1]. Eigen is a
delight to work with, which is hard to say of many numerical codes. It simple
to install (header only), has Matlab like functionality that is incredibly
expressive, supports sparse matrices and solvers without external dependencies
(although you can call out to MKL, SuperLU, etc if you have them installed),
is vectorized (AVX support recently added), efficient through the intelligent
use of template meta programming... I could go on for hours. Check it out!

[1] [http://eigen.tuxfamily.org/](http://eigen.tuxfamily.org/)

~~~
santaclaus
The Ninja [1] build system has also been a godsend for my recent projects. I
measure significant speedups with Ninja vs. make -j# on my multicore machines.
CMake is also able to spit out Ninja build systems, so transitioning to Ninja
is essentially free if you are already using CMake, which is quite common for
scientific and numerical codebases.

[1] [http://martine.github.io/ninja/](http://martine.github.io/ninja/)

------
lettergram
Five years ago is a bit long for software tools.

~~~
p1esk
Not in scientific computing.

