People are too concerned with what language to use because they read about "performance speed" and what the big boys are using. I think it's all BS personally. Any language can be used to make a good game today. Processors and GPU speed are fast enough that languages such as Java, Python, Perl, etc make for a good development platform for any game.
Most people don't realize that "garage" development will never reach the needs of professional games and if it does, it's a good bet the game will never be developed because developers will waste too much time tweaking their core code, without actually ever producting anything - that or garage development just became professional development. Too many people think they need this super fast C++ code and assembly hand coded inner loops (which BTW are so 1980's

). There's absolutely no need for any of that today.
Pick a language you feel most comfortable with, and it's guaranteed you will be able to produce what you want to build. If you find your language is inadequate for what you need for whatever reason, then switch. Too many people waste their time with the "ultimate game engine" and "the fastest, smallest, cookie-cutter game ever".
Go with what you know, and make a game. An engine is useless without an application to use it. Too many people don't realize this and will never ever produce anything. This is why I chose TV3D. It's easy to use, quick to learn and works with my chosen language (c#). That's good enough for me. Now all I have to do is make a game out of it....easy right?

My 2 cents.