Hi, i am looking to go into game programming and would love for it to go into a career, i have already started learning Java through YouTube and i am enjoying learning the language. However, im starting to see the light and thinking maybe i should start learning C++ before i get too much into Java.

Another point i would like to ask, is what route should i take to get into game programming as a career, i would like to go into the traditional route of college and then onto university but i am not sure what course to study; i was thinking about studying computer science but i am not sure if this would help me with game programming.

Thank you for your time.

Recommended Answers

All 14 Replies

On the contrary, I'd recommend getting a good grasp of Java first and then learning C++ once you're comfortable with it. C++ is indeed a lot more common for game development as it's generally faster, but there are so many fiddly details (pointers/references, memory management, general low-levelness) that it's easy to get bogged down and lose motivation.

Java lets you learn the important stuff like algorithms and OOP without worrying about the low-level details, so it's a much better starting language. I'd say master it first and make some reasonably complicated game in it, then once you've done that you'll have a decent grasp of general programming principles and will be in a good position to start playing with C++.

As for college/university, computer science is always a safe bet. In the UK at least, it's generally more respected than a specific game development degree, and will give you just as good a chance (if not better) of getting into game development whilst also opening up a whole load of other careers as back-ups.

yeah i do like Java, i find it challenging but i like it, it keeps me interested and so i'll probably go onto C++ in the future once, like you said, i have a better grasp of Java if not mastered it. When you say a complicated game how do you mean exactly? like 2D or 3D based etc.

Yeah i am currently situated in england and will more than likely be going to college and university in england and in my local area it is almost impossible to find a course which is specific to game programming and so i would like to go into computer science but as it does cover a wide range of things which are computer based and so if i need to is hould be able to fall back on something from a degree in computer science and will probably leave me better off aswell.

Do you have any personal knowledge of computer science courses / degrees as i am curious to what they include.

Thank you for replying :)

"started learning java through youtube" does not bode well for someone wanting to make a career out of software development.

And no, you should not look at specialised game programming curiculi, they're far too narrow and you're almost certain not to find employment in the field, certainly not long term employment.
It's an incredibly fast paced industry, most people entering it burn out or leave within 5 years, those with overly narrow training finding themselves unemployable.

Game programming sounds like fun, but once you realise it's just another job and you're not being paid to play games all day the novelty quickly wears off, yet the incredible work pace, the massive stress brought on by deadlines that are known to be impossible to meet even before development starts, the constant push from on high to make those deadlines tighter while adding more and more to the release, that never changes.

Yeah i realise youtube will not make me a master programmer but its the only resource i have at the moment, i am currently following a series of tutorials which help with the basics of Java and once i have a good understanding from the series i will go onto use things like books to help. If you know of any other ways i could learn Java it will be very appreciated.

And i think computer science will help me a lot more than a game programming course as then i can go into related fields and not just have to stick with game programming.

I realise it is hard work but i already enjoy programming and i dont really know much and so im hoping the more i learn, the more interesting programming will become and the more i enjoy it.

I personally find C++ much, much better (I really hate Java)

But hey, if you're comfortable with it, sure.

http://www.oracle.com/technetwork/java/index.html good tutorials, documentation, etc.

Yes, it's a bit of a dry read if you're young and want to just jump into the thick of things, but just jumping in isn't going to make you a decent developer, you need a solid background.

@Plazmotech this is no place for religious wars between languages. C++ isn't "much, much better" in general, or even in many specifics, to Java. It might be more appropriate for some things than Java, for other things it's decidely inferior.
And without knowing what OP wants to use his knowledge for in detail, it's impossible to make that assertion. For example if he wants to write for Android, C++ knowledge will be pretty much useless to him.

Yeah i know C++ is good, but if you read the frist reply to this forum i was recommend to stick with Java and then once i have a very good understanding of it to move on to C++.

Thank you for the link jwenting, i shall make sure to read it and i understand it is hard to learn a programming language and that it can be boring and i am willing to take time out of my day to sit down and read a tutorials and documents. And the OS i will most likely produce on will be Windows and maybe Android in the future but as of now i am only wishing to program on Windows devices

How to develop Android Applications?

Android applications are primarily written in the Java programming language. The Java source files are converted to Java class files by the Java compiler.

The Android SDK contains a tool called dx which converts Java class files into a .dex (Dalvik Executable) file. All class files of one application are placed in one compressed .dex file. During this conversion process redundant information in the class files are optimized in the .dex file. For example if the same String is found in different class files, the .dex file contains only once reference of this String.>>

oh okay, thanks man

The point about learning Java well before moving on to C++ is a fair point from the perspective that Java might be an easier language to learn the basics. But that's the important point "the basics". Java and C++ are very different, and Java is far more narrow in scope and in coding practices / techniques. Don't be fooled into thinking that simply taking good Java skills and transposing them into C++ is sufficient to be considered as being as good in C++ as in Java. Java-style (even very good Java style) programming in C++ is generally considered, at best, as mediocre, by the C++ community. A good C++ programmer is expected to master a wide amount of techniques and styles that are not common or even possible in Java.

So, I guess my advise is not to wait too long before initiating yourself to C++, if that's your ultimate goal. And when you do, treat it as a completely different language. The worst thing Java programmers do is assume they should program in C++ like they are used to doing in Java, that results in horrible C++ code and a lot of pain and suffering, and often leads Java programmers to give up on C++. As evidenced by animatinator's description of C++:

but there are so many fiddly details (pointers/references, memory management, general low-levelness) that it's easy to get bogged down and lose motivation.

which are, for the most part, only problems related to trying to do Java-style C++ programming (which is difficult and wrong). So, watch out for that. It's mostly a problem of expectations when making the Java-to-C++ transition (e.g., expecting all your Java skills to be transferable when only the basic programming skills are transferable, or expecting that all those "good practice" rules and traditions of Java apply the same in C++ when only a few fundamental principles are the same).

So, that's my take on it.

so should i go straight into C++ and not even bother with Java or is Java a useful language to have?

Any well-rounded programmer should know several languages (at least 4-5). And C++ and Java will both figure on most "lists" of recommended languages to know. The others might be languages like Python, and some more esoteric languages.

Okay thank you :)

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.