A brief discussion of the context of this object-oriented scientific computing library.
O2scl takes advantage of homebrew and travis-ci.org to make sure installation and testing works.
Function objects can now be defined and manipulated very succinctly:
double a=-0.9, b=0.9; o2scl::root_brent_gsl<> solver; std::function<double(double)> f=[](double x){ return sin(x)-0.1; }; solver.solve(a,b,f); cout << a << endl;(adapted from O2scl's ex_lambda.cpp example)
Python has enabled fast development, but we still want fast execution from C++. GSL is great for many problems, but Fourier transforms are better done in FFTW and linear algebra is better implemented in uBlas, Eigen, or Armadillo.