So you have put some thought into a game engine. Congrats! The next step involves even more decisions. What programming language will be used? C#, Lua, Assembly, Java, Boo, Mindfuck, or something else all together?
There are really two ways to look at this problem. You can either pick a language based on the game engine you want to use, or you can pick an engine based on the language you want to use. This all comes back to the age old question; “What are you trying to accomplish with your game?” If you are trying to show what you can do as a developer then pick the language or tool that you are trying to showcase. If you are a designer, then pick the tool that will allow you to show your craft without focusing on the programming too much. If you are both, then just have some fun!
If you only want to learn one language, then I would have to recommend C#. The reason for this is the documentation. This language is pushed heavily by Microsoft and it is used in both game development and business programming. This leads to tutorials about game development, software architecture, design patterns, the language basics, and so much more. There are even tutorials showing up within days of new versions coming out, if not earlier.
One of the other big languages in game development would be either C++, although this language is getting a little bit dated, or if you are looking at the online side of game development then PHP. Both of these have a lot of content that can help you start moving on the educational road to mastery. The main downside to C++ is that it is very complicated and it is not being actively advanced as a language. The downside for PHP is that it only really works for online applications. Neither of these are major downsides, but they are still worth noting.
There aren’t really any huge downsides to any language as long as it fits your needs. If you are looking to make a Windows game that should be played completely offline then you should most likely steer clear of using PHP. If you want to Facebook game, then I am not sure that C# is going to be your first choice. It is all about what you want to do and how you want to do it. The world is your playground, but please don’t try skydiving with a scuba tanks!