My favorite language is C++. If I could build a game in any language, that would be it. But, I have far too many years of programming experience, and have programmed Assembler on many platforms, and this deeper knowledge makes C++ particularly good for me: I understand what the compiler generates, how to improve it where necessary (via rewriting C++ code, or using inline assembly). I have been programming with classes as long as there have been classes, and pointers since, well, since C.
The language I am most familiar and fluent with is C#. Why? Because much of the work I have done since 2002 has been well suited to a somewhat more RAD environment, and I liked C#'s syntax. I can write a business app in C# fully 10 times faster than I can in C++.
But now here I am, writing a game (and engine), and I am doing it in Java. I programmed java in it's early years but grew disgusted with it because it changed too quickly. I dropped it, and picked it back up when Android released in '08.
So why am I using Java?
I want portability. My code will run without revision on Mac, Linux and Windows, and with only minor revision (because of how I have structured my program), on Android. This is a huge win.
Further, if the choice of language (real language, not scripting language) matters where performance is concerned (given they are perhaps 10% different on average, or 2x worst case), I believe an architecture bug is to blame. In other words, I could make the code much faster in C++, but if the switch to java significantly injures the game's playability, there is a bug in my design.
So, from this you should be able to discern my suggestion. To elaborate on that, I would recommend staying away from all scripting languages and lesser known languages. Why? You want to not only make an awesome game, but gain valuable and reusable skills, using tools that are widely excepted and used by as many people as possible (in case you strike it rich and need to hire people for the next release :-)
Wow, thanks for the strike it rich, means a lot .
Looks my (future) game engine project is valid.
That was my first thread on this forum. How long have you been developing the game engine with java and how far have you gone with it ?
You said i should stay away from scripting languages but all modern game engines use scripting languages (unreal - unrealscript, cryengine - lua, unity - multiple, torque - torquescript). I also read an article about if AAA games use scripting languages and the guy said a scripting language like lua in the case of AI tells the npc what to do while the language like c++ is used for coding the action itself.
From that link to games that use lua, i didn't see the games i wanted so i'm confused.