Adding GC to C++ is trivial. If you use a factory method pattern for any objects it is pretty unobtrusive as well.
A garbage collector for C and C++
OTOH generating tight code isn't trivial in any of the higher level languages, the interface to native code is usually massively inefficient. Also, what's unproductive about C++? You need to write header files but the fact I don't have to wrap functions in a superfluous class is worth every header file I've ever written. If you use some of the legacy C stuff then that's a PEBKAC problem rather than a C++ one. It is possible to write relatively clean C++ code. Other than Java it is the most popular language on the planet, those two stand out well ahead of the others.
If you want I have a package with the DLL, header files and the def file for the GC mentioned above, building it for Windows proves difficult. You will need to generate the import library for your compiler though (unless you are using MinGW, I have that import library). That's usually trivial though if you have a working def file.
Another alternative might be to look at a pre made game engine. Torque is freely available AFAIK. If you pick up '3D Game Programming All in One' it has a disc with the Torque engine on there and goes through developing a game for that engine. You don't need C or C++ for this because the engine is already made.