One of the questions I see repeated every so often by beginning game developers is “which language should I learn?” or “what is the best language for a new gamedev?”, often followed by a bunch of people debating why their favorite language is the best one.
Typical arguments include
- Choose C# because it’s friends with Unity.
- Choose C++ because it’s friends with Unreal.
- Choose Java because it’s great for Android.
- Choose Objective C/Swift for iOS.
- Choose HTML5/Javascript for web/mobile!
While there is some validity to these answers, take it with a grain of salt. If you know you’ll be working in Unity, then sure, C# might be the best place to start. But if you are just learning to code, chances are you need to practice the basics first. And for practicing purposes, starting out in Unity may be a bit overwhelming.
The basics of coding; variables, loops, if/else, switches, functions and so on, are pretty much the same regardless of language. Once you pick up these basics, and learn how to plan and structure your code, the rest is mostly syntax.
So, here is my suggestion. If you are new to coding, pick the language that feels more appealing to you, because it really doesn’t matter too much. Find a Python tutorial that sounds interesting? Try it!
I would argue, that once you learn the basics of programming in one language, you can pretty quickly adapt to another one. Mostly, it comes down to understanding the principles behind the code, then getting used to little differences, like whether to use curly brackets or square ones, or whether you need to end each line with a semi-colon or not.
So, if you are learning to code, and not sure if you are learning the right language, don’t worry. Just keep learning. If you ever do need to switch, it will probably be easier than you think.