> Thanks a lot for your time and in advance for any responses. :) I'd go with prototype in Ruby, probably. You could jump in to c++, and I think you may find useful Boost libraries for the work you're going (there is a graph librarby in there, I'm sure), but I honestly think you'll suffer if you're not a c++ Guru, particularly if you're using template based libraries (others will probably differ, but my feeling is using c++ well is very hard, and I'm paid to do it ;-). After prototyping, a fourth way that I would strongly suggest in this case, is to considder a functional language if you need speed. That may sound crazy, but ocaml [1] (specifically) performs comparably (half as fast?) as hand tuned c on benchmarks [2] (lies, damned lies and statistics?). It's almost certainly very well suited to the kind of work you're talking about (symbolic manipulation), and your brain may enjoy molding to the mind set if it's already got Ruby nestled in there. If the prototype is going to be a large lump of work, you might even want to considder starting out with the functional language (particularly if you can find example code for a similar looking problem). :) All the best! Cheers, Benjohn [1] http://caml.inria.fr/ocaml/index.en.html [2] http://www.cs.ubc.ca/~murphyk/Software/Ocaml/why_ocaml.html