Sign in to follow this  
HarokaSado756

What Programming Language Should I Tackle First?

Recommended Posts

So I'm interested in becoming a game developer and am currently going to college as a computer science major. I'm still getting through all of the gen-ed classes but was wanting to start getting into programming again (I used to dabble with c++ in late middle school/early high school). My problem is I'm not sure which programming language to tackle first. Should I just relearn c++, go straight to c#, what about Java, or maybe lua? I'm not sure. Any insight would be extremely appreciated.

Share this post


Link to post
Share on other sites
It depends what you want to do eventually. If you're aiming for level design or non-core game development, Lua, Python, etc are better than C++. If you want to strike out on your own, C# is best. It's what is easiest to use in Unity, and honestly a person's first game should probably be in Unity. Even if you graduate to Unreal and C++ before actually releasing a game, I'd do the learning of basics in Unity. Better tutorials. If you're hoping to land an internship with a AAA developer, and get hired by them, find out who does internships at your school, who you want to work for, etc. It's quite possible C++ will be the route to take for that as the people looking are usually people more impressed by C++ or even side projects in Assembler and such.

My strongest recommendation, no matter which language you choose, is to finish projects. The likelihood of being hired skyrockets if you say you made a Tetris clone as part of your learning than if you say you tried to make a Tetris clone. Even if you go apply for a job in a different field, you're still more impressive when you say you start and finish things for fun, which is what you're doing when you do it without being told it is an assignment. Businesses want people who get things done, not who give up halfway through.

Share this post


Link to post
Share on other sites

Well, having been through a dedicated "Games Programming" degree at uni, one of the big things that the larger AAA style of studios we got to talk to / apply to internship at were looking for language wise were C++ skills, and at the slight smaller studios this shifted to C# and Unity skills.

Either will give you a good grounding in programming though personally I find that learning a lower level language for example C++ gives you a better understanding and makes it easier to transition to other languages.

One of the lecturers I had was a guy who (long time ago) worked on the old Dune and Orig C&C games, and he was always advocating that if you can program in C++ picking up any other languages is fairly simple, and working full time now in C# I do kind of agree.

But really, it does depend on your end goal. If you want to jump into a job at a triple A studio, focus on things like C++ and pick up a specialization (UI, Physics, Gameplay). But if you want to start your own studio or get a job at a smaller company, then work at C# / Unity and while you should still focus on a specialization really, a broader set of skills can be useful at smaller indie devs too. 

Share this post


Link to post
Share on other sites

I say yes, go with C++.  

Reasons, 1) you have already done some C++ before, so it's not entirely new, 2) it's the industry standard for game development, 3) you're a college CS major so you should be able to handle it.  C++ is not really that hard to learn, especially if you're using modern C++.  I taught basic C++ to my 12 year old niece, so you can probably learn it as well.  If you cant, then you might want to consider changing your major to something else. And 4) C++ will teach you how the hardware works and how things like memory management works more than some other high-level languages that will hide stuff from you.  Again, CS major, so you should know how the hardware works and how to program for it.

Share this post


Link to post
Share on other sites

I'd go with a simple language. The more fun and easy it is to get something up and running the more likely you are to finish it. I quite like pygame https://www.pygame.org/news.

 

And don't overlook JavaScript, that's my current language of choice. I know it has its detractors but it's super easy to get started. All you need is a simple file editor (like notepad++) and a browser. https://www.w3schools.com/html/html5_canvas.asp

Share this post


Link to post
Share on other sites

I would say that, since you are going to start a collage degree in computer science, you have to take the language they use for your first computer science course.

Honestly, you first need to learn programming very well, before programming games.

So why not learning what you need for college and starting from there?

Chances are high that it will be python or Java or C.

Once you master the language and the basic concept and algorithms it will be easy to transfer them to another language.

Edited by ingframin

Share this post


Link to post
Share on other sites

I say yes, go with C++.  

Reasons, 1) you have already done some C++ before, so it's not entirely new, 2) it's the industry standard for game development, 3) you're a college CS major so you should be able to handle it.  C++ is not really that hard to learn, especially if you're using modern C++.  I taught basic C++ to my 12 year old niece, so you can probably learn it as well.  If you cant, then you might want to consider changing your major to something else. And 4) C++ will teach you how the hardware works and how things like memory management works more than some other high-level languages that will hide stuff from you.  Again, CS major, so you should know how the hardware works and how to program for it.

I don't agree completely with your point 4.

C++ will teach you memory management for sure but forget about the hardware. Digital electronics will teach you how the hardware works, not C++. It's just a little less abstract than a language like C# but you don't actually see anything of the real hardware and it's good as it is.

If it required specific hardware knowledge you would have a very little amount of C++ programmer.

Share this post


Link to post
Share on other sites

I would say stick with C++, especially if the course you do teaches you this. I found that having years experience with C++ made learning other languages like C# and Java, so much easier. So I say stick with C++ for now and take on a new challenge in the future :) 

Share this post


Link to post
Share on other sites

To be honest, I started coding when I was 28, with C++, and now I create games in C# with unity and Blender. But before all of this, luckily I could create WITHOUT CODE simple games with blender Game Engine, which allows you to use switchs and wires to create interactivity. This is too messy to create a complex game, but it made me understand clearly WHAT a program is, and HOW game interaction works ( iterations, variables, FPS, input, animations, sounds... ). It really helped me to understand C++ and C# very quickly later when I jumped into coding. I hope it can help you, and help you to understand the mechanics of programming, I know this is not easy when you learn programming as an adult, and this helps.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this