What Programming Language Should You Learn to Get a Job in the Game Industry?
The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company.
If we count id Software’s game Quake as the beginning of real-time 3D games, then it can be said that the C programming language is the foundation of modern game design. The original Quake engine was written in C, using an interpreted C-like script language called “QuakeC” for game logic. By the time Doom 3 was in development, id Software had moved over to the C++ programming language, which adds object-oriented features. C++ today remains the foundation of most game engines and performance-intensive code libraries. For example, Unreal Engine now uses C++ exclusively. Unity3D provides a programming framework through the C# programming language, allowing the developer to access the engine’s internals, which are written in C++. Leadwerks Game Engine (my product) provides access to a single API using both C++ and Lua, allowing the developer to write performance-intensive code in C++, while light game logic can be easily scripted in Lua.
For someone starting out in the game industry with the intention of eventually getting a job working for a major studio, what is the best path to learning what you need to know? This article was written in an attempt to quantitatively answer that question.
A sample of all programmer job ads on GamaSutra was taken on July 14th, 2016. Each ad was searched for the terms “C++”, C#”, “Java” or “JS”, and “Lua”. If the term was found, the language was considered a requirement, for the purposes of this analysis.
You can download an Excel file containing the raw data used for this analysis here.