sentence: implementations the canonical implementation is in c++ , but there are efficient ports for a variety of popular languages , including python , c , c# , perl , ruby , php , haskell , scala , java , erlang , and javascript together with online version .