> Now I'm considering using Ruby for that user/prototyping part. One of > my requirements/goals is that the UI toolkit go between X11 and Windows > fairly easily. Maybe even Mac OS X. Qt seems like the best route to > try that. You might also want to look at FXRuby (http://www.fxruby.org) if a native Mac OS X binding is not required. By "native", I'm referring to a version that wouldn't require the end-user to run a X server on their Mac; we have had reports in the past of success with building FOX on Mac OS X as a X11-based library and then running FOX applications using XFree86 on Mac OS X. As an aside, some of the other responses to your post have veered off into a discussion of Ruby/Qt's support for overriding virtual functions. This was one of the up-front design requirements for FXRuby and as a result it works pretty well. So, for example, you can derive a new class from one of the existing FOX classes, override its virtual functions, and then those functions will get called whenever the C++ library code invokes those virtual functions.