I've been a long-time Java coder. I'm looking to transition away from Java, though, as I've found it to be less than satisfactory for what I use it for. I'm finding it hard to decide which language to use instead... I've whittled the numerous choices down to C (or its derivatives, like Objective-C, C++ and D) or Python. The stumbling block that's hindering me from making a final decision easily is one of compilers - I intend to develop open-source stuff primarily, so I'd prefer a compiler with a license compatible with the stuff I develop. Both C and Python have such a compiler - heck, the whole toolchain is compatible from the get-go. However... I'm also going cross-platform (OS X, Windows, Linux), which is where things get a bit dicey. Targeting OS X and Windows, without Linux, would be easier; as would OS X and Linux (there things are a LOT simpler). It's trying to juggle all 3 that is giving me grief. Here's the crux of the problem: Python's more mature on Windows, but slower. C is less mature on Windows (MinGW and MinGW-w64), but faster. For the curious, I've been a Java game developer ever since I started writing programs for PCs rather than graphing calculators, and I intend to continue writing games, but also have an interest in creating utility programs.