Tuesday, June 23, 2009

[code] The library watch

"There are no bad tools, there are only bad workers" Well, there may be some truth to this, but surely good tools cannot hurt! Any skilled programmer has a few libraries up his sleeve, ready to be launched after some nasty problems lurking at him.

In fact, I find libraries to be an essential tool for a researcher in a hurry to prototype ideas - which often involves solving non-trivial sub-problems. So, what libraries are you using in your every day endeavors?
Here are my favorites (I'll skip the basics such as libpng, zlib, etc.):

  • Loki - the libary that made me realize what templates are for. Andrei Alexandrescu's book is a must read!
  • TAUCS - linear solver for sparse matrices
  • ANN - approximate neighbor search
  • AntTweakBar - GL/D3D gui, simple, clean and powerful
  • LUA - scripting, very easy to integrate
  • tolua++ - makes lua even easier to integrate with c++
  • TClap - command line parameters, template based
  • ODE - physics
  • Bullet - physics
  • fftw - fast Fourier transforms
  • SDL / SDL_net - media library. I essentially use it for multiplatform threads and networking. A bit old-school but still very effective.

Now, some libraries I am planning on using much more regularly:

  • Boost - how could I live without it! (the answer is Loki+Tclap+SDL+home-grown-stuff ;-) but of course Boost is a must-use)
  • SQlite - SQL database in a local file (no server, no config, all is done from your application). Thanks to Anteru for pointing this one out!

1 comment:

  1. Great stuff! You forgot to mention a quite useful one called LibSL :)