I think you've got the right idea with C++. It really is the best balance of object-orientedness and a lightweight runtime, plus you'll actually be able to compile and run on multiple platforms. Objective-C is a great language to learn, don't get me wrong. As an OO extension of C it's much more elegant than C++, but if you're looking for the fastest realtime animation and performance C++ is preferable, and frankly once you know C well enough it's a pretty quick jump to all its derivatives (including perl and PHP if you're into that sort of thing). As for Java, well, that's another topic.