As far as I remember it was written in C++. Still it has a wide range of bindings which allow it to be used as a backend for multitude of languages other than C++.