As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
If this question can be reworded to fit the rules in the help center, please edit the question.

3

I suspect the reason you got this response was because mobile development - which has been historically Java-based - was much bigger in Europe than the US (since smartphones were much bigger in Europe than the US), and the C++-based console development studios, vice versa. "Gaming companies" is a wide range of platforms and markets and budgets.
–
user744Jan 25 '11 at 18:09

10 Answers
10

Common programming languages can be broken up by "type" of game development.

Large, triple-A games that are pushing the envelope when it comes to graphics typically utilized a mixture of straight C and C++ for the majority of the project. Often, a scripting language will be involved--though, this isn't necessarily true of all engines.

Gameplay code is often written in a proprietary language (UnrealScript), Python, Lua (CryTek, Spark Engine), or, in some cases, C# (The Sims 2). A few game engines are starting to support JavaScript (Unity, etc.).

Shader languages are also utilized, of course.

In the mobile realm, iPhones are dominated by objective-C while most other cellphones utilize Java (Android, Brew-based, etc.).

As for indies or small companies, they can be utilizing pretty much anything depending on their target platforms. For instance, C# is common with small time Live developers. Flash developers obviously use ActionScript.

Quite a few of the top-ranked mobile games are also written in C++ with an Objective-C/Java wrapper (both iOS and Android allow for that.) XNA (C#) is useful for working with Windows Phone 7 as well as the indie market on XBox.
–
Nick GotchOct 20 '11 at 0:35

Not that I'm disagreeing with you, but the most common languages are arguably the most supported and therefore are more likely to be maintainable than something more esoteric. Choosing popular languages has its benefits.
–
Tetrad♦Jul 15 '10 at 1:50

3

@Tetrad oh I agree fully. But this has often led down a road where something could have been solved in a much simpler manner with some other tool/language.
–
Ólafur WaageJul 15 '10 at 1:58

Though if the language is simpler, but no dev uses it, is it really simpler? LIke, lots of things are way simpler in, say, Haskell, or Python or Lisp than in C++. But is that really so?
–
Jürgen A. ErhardJan 28 '11 at 17:00

The TIOBE index is far from reliable. The only reason that Delphi is at number 11 is that the Delphi community en masse decided to bombard the index and game their way up the chart.
–
rtpersonJul 22 '10 at 2:58

13

Really, all five of them? That must have taken a while.
–
Mike StrobelAug 10 '10 at 14:55

As already mentioned, C++ is essentially the language to learn; the major consoles all host a C++ development environment, for better or worse. C# is starting to take off, in XNA-powered games, but is most often also used for tools development.

Lua is also one of the most commonly used scripting languages in games; it's helpful to have at least a passing familiarity with it.

Often the build chain used to build the game will contain scripts written in Python or Perl; it's helpful to be familiar with those too (though it's not a requirement).

Maybe you shouldn't focus on learning one specific language. You should how to develop.

Yesterday, i downloaded the iOS SDK and Xcode. And i took it right away and made a little tetris. I'm an as3 guy, and i haven't even bother about learning Objective-C. But i was able to make a simple game because i understand how to develop.

So, my point here is that you maybe should spend more time learning new concepts, than a specific language. Or Learn X languages and port your knowledge to other languages.

Game development is a different ball game form application programming.

In the world of games it is all about speed. When pushing the envelope with 1080p HD graphics, high sampling sound and nex gen AI every last processor cycle counts.

Historically C and C++ have been the fasts but java is now comparable to c++ in terms of speed in some circumstances.

C++ allows you greater control over the architectural you design on than any other language.

Most senior game developer are well senior meaning they were taught the old school way as they were invented an as such are very proficient in older technologies.

But the most major reason that commercial game development favours C++ is that it has been used for over 15 years in the games industry and there are literally billions of in house and public access library's for it. If you want it chances are someone has built it in c++.

Having said that java is becoming more and more popular as it makes it easier to develop on the wide spread and constantly changing mobile architectural but bleeding edge games will continue to have there core written in c++ for some time to come.

A better justification than than the horrid aggregation of junk that is Tiobe would simply be to reference Apple's developer documentation, which indicates that the preferential toolchain for iOS (and OS X) development includes Objective-C as the entire core API is exposed in that language.
–
Josh Petrie♦Dec 7 '12 at 16:52

Ok - added links. I can only imagine the downvotes are from haters or people who are rather ignorant.
–
nevsterDec 8 '12 at 13:23