Recently I acquired a myriad of free time and have decided that I want to learn how to program. My question is what language should a newbie start off in? I understand that each language has its own pros and cons, but were could someone who is interested in making games start off?


closed as not constructive by Trevor Powell, bummzack, Kylotan, Nicol Bolas, Tetrad Mar 3 '12 at 17:08

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.

  • 1
    \$\begingroup\$ possible duplicate of Where to start with game development? \$\endgroup\$ – bummzack Mar 3 '12 at 10:16
  • \$\begingroup\$ There is a difference between wanting to learn to program and wanting to make games. If you are genuinely interested in coding then 'Python' is often cited as the best one to start off on. If you just want to make a game then 'Unity' is a good program to use. Good Luck! \$\endgroup\$ – Eden Crow Mar 3 '12 at 14:40

Many choose to start with a simpler managed language such as C# or Java. If you really seriously want to go into large-scale 3d games you will almost certainly need to learn C++, but this is a difficult language and has a high learning curve.

The good thing about C# and Java is that they share a mostly C style syntax, so you can become more familiar with the syntax in a more forgiving environment for things such as memory management. If you choose C#, I have found Microsoft's XNA an excellent learning tool for beginners.


Each language has it's ups and downs, I'd probably suggest you grab something like Unity3D where you'll still have to program, but you're going to see something much faster, as it worries about all the tedious stuff like drawing polygons, input and asset management.

When picking a language in Unity, I'd go for Javascript, it's easy, seems to be the most prominent in the community, and there's lots of people who understand it.

My personal preference was Boo (a python derivative) next to no one used it so support was pretty much my own work.

  • \$\begingroup\$ Been using Boo for years!! \$\endgroup\$ – Inisheer Mar 3 '12 at 12:29
  • \$\begingroup\$ Write more articles about Unity then :) \$\endgroup\$ – salmonmoose Mar 3 '12 at 12:50
  • \$\begingroup\$ "... and have decided that I want to learn how to program." He want to learn to program, not how to do scripting. He could fall back on your idea if programming gets too hard though (no offence against scripting! Personally I prefer Lua though ;-) \$\endgroup\$ – Valmond Mar 3 '12 at 13:55
  • \$\begingroup\$ @salmonmoose Didn't use for graphics / game programming :( \$\endgroup\$ – Inisheer Mar 3 '12 at 14:35

Not the answer you're looking for? Browse other questions tagged or ask your own question.