Sign in to follow this  
ahung89

wanting to get started, taking java in school...

Recommended Posts

Hey guys! New here... just wondering what you guys think would be the best option for me. A little background info... I'm a 19 year old sophomore at the University of Texas. I just transferred to computer sciences this semester and I'm currently taking an intro to computing class in which we learn java. Next semester I'm going to be taking the next course in the sequence, which is also a java class. Prior to this I had very little experience in programming, having taken two semesters worth EARLY in high school and doing a little bit in middle school. I'd consider myself very talented and I'm doing great in the class and learning with no difficulty at all. Now here's where my problem is - the main reason I'm learning programming is to become a game developer. I've been looking for resources on this and resources teaching java game programming are very limited and most books on it receive poor reviews. It seems that the general consensus is that C++ is a superior programming language (and there are WAY more resources on it for a beginner like myself). I really want to get started in game programming - I'm frustrated with the slow pace of the class and I'm eager to learn more faster since I'm mastering this stuff so quickly and easily. My question to all of you guys is: do you think it'd be a good idea to learn c++ on the side, just for game programming? My reasons for this would be : 1) I'm going to learn c++ eventually anyway, since I am dead set on going into game programming. 2) There are way more resources on c++ programming that a beginner like myself could use to get started. 3) Might as well get a head start now instead of wait until I master java which could take years. My reasons for trying to learn game programming with java are as follows: 1) I'm already taking a java class and another one next semester, and as a beginning programmer perhaps I should focus on just one language. 2) I can probably still make simple games using java that will help me out. I probably don't need the increased power of c++ Of course I'm sure there are other options besides the two but those seem to be the best for now... any input would be GREATLY GREATLY appreciated! I'll be seeing yall a lot over the next few years!

Share this post


Link to post
Share on other sites
If you're learning Java at school, and have little or no prior programming experience, just stick with Java for now. Once you have a good grasp of a language, learning others will be easy. So, learn Java well and do well in school, then pick up C++ (and a few other languages while you're at it).

Share this post


Link to post
Share on other sites
Just to clear a misconception: I don't think there is such a thing as a superior language. You use what language you need to do get the job done efficiently and effectively. Would you use Java to create Doom 3? Of course not, you would need C++. Should you use C++ to create a small java-like game? No, of course not, use Java.

Share this post


Link to post
Share on other sites
Quote:
It seems that the general consensus is that C++ is a superior programming language (and there are WAY more resources on it for a beginner like myself).
Not really. In fact, the consensus is against C++, at least from the experienced programmers. When beginners ask us for language recommendations, we usually recommend Python, C#, and Java as good picks. C++ isn’t included.

Quote:
My question to all of you guys is: do you think it'd be a good idea to learn c++ on the side, just for game programming?
No. Focus on one language, because the end goal isn’t about mastering languages. It’s about learning everything else in programming: how to approach large program designs, how to think about algorithms and data structures, what common patterns there are, and generally acquiring knowledge. Very language independent knowledge. You can start C++ once you are comfortable writing non-trivial Java programs. Until then, stay with Java.

Game programming is an application of programming. You don’t really focus on game programming. You learn to program and be a computer scientist, and then apply that knowledge when making games. The distinction is important.

Share this post


Link to post
Share on other sites
Quote:
Original post by ICUP
Would you use Java to create Doom 3? Of course not, you would need C++.


You could most likely do it in Java with the tools available today.

Quote:
Original post by ahung89
My question to all of you guys is: do you think it'd be a good idea to learn c++ on the side, just for game programming? My reasons for this would be :
1) I'm going to learn c++ eventually anyway, since I am dead set on going into game programming.

Java and C++ are similar in many ways, syntax-wise. The major differences are in memory management, pointers, and the standard libraries. Sticking to Java for now, which does a lot of the legwork for you, might be a good idea. You can instead focus on mastering programming techniques (algorithms, patterns, data structures). These will still be very much relevant once / if you pick up C++ later on.

Quote:
Original post by ahung89
2) There are way more resources on c++ programming that a beginner like myself could use to get started.

There are many resources on Java programming, too. Even for Java game programming. Javagaming.org is a good place to start. Enabling technologies include LWJGL, JOGL, jBullet, jMonkeyEngine, Slick2D and the like. A good book you can pick up to read is Thinking in Java. There is a freely available electronic version on the web, albeit a bit dated.

Quote:
Original post by ahung89
My reasons for trying to learn game programming with java are as follows:
1) I'm already taking a java class and another one next semester, and as a beginning programmer perhaps I should focus on just one language.

Sounds like a good idea to me.

Quote:
Original post by ahung89
2) I can probably still make simple games using java that will help me out. I probably don't need the increased power of c++

You can make a lot more than just simple games in Java. As a testament to that, NCSoft was developing a 3D MMORPG in Java until recently (the project was axed when layoffs ocured, though).

Share this post


Link to post
Share on other sites
Thanks for the tips guys. I guess I will stick to mastering java for now. Do you guys have any resources that I could use to learn at a faster pace, since this class is going a bit slow for me? Anything that will teach me what I need to know to be a good java programmer or a good game programmer would be cool... thanks...

Share this post


Link to post
Share on other sites
Someone already mentioned "Thinking in Java" there's a free version you can download.

The biggest issue that someone may experience when using c++ after working in java for a long time is that you'll hate it for many reasons, you'll feel right at home with other languages like C# though.

Share this post


Link to post
Share on other sites
Quote:
Original post by ahung89
Thanks for the tips guys. I guess I will stick to mastering java for now. Do you guys have any resources that I could use to learn at a faster pace, since this class is going a bit slow for me? Anything that will teach me what I need to know to be a good java programmer or a good game programmer would be cool... thanks...


The first place to start would be your coursebooks, considering that you need to buy them anyways. Read your coursebooks - they'll provide you with the basics as well as any other Java book. Read ahead, then go to your professors office hours and ask any questions - heck, ask your professor the same questions you're asking here. Chances are they've got a large collection of CS books, they should be able to provide you with a few that they recommend.

Aside from school, simply head down to your local bookstore. Check out the selection of Java books, browse through them, see if you like them, even go online (I go to Amazon) and look at reader reviews. In fact Amazon is a great place to find books - they provide you with "Users also liked.." links, and there are tons of lists of people favorites in the Listmania! section (why is it so hard to get to?).


Share this post


Link to post
Share on other sites
Thanks guys. I guess I'll just go ahead and finish the coursebook and look for more books on amazon. Any more specific recommendations for good java books?

Also, at as basic a level as I am at right now, how would I be able to get started in game design? I've heard of really really basic programs out there (game maker, blitz3d, darkbasic) that I can use to create games without much programming. I was thinking maybe it'd be good to do something like this (if there's no java game programming resources for beginners) so that I can get a jump start in learning how to make my crazy ideas into working games without having to know a crap load of programming, while still learning the java. That way I wouldn't be bogged down learning two complex programming languages but I'll still be getting a jump start in both java and game making. Of course the best option would be to learn to apply my java to game making but I don't really know where to start with that (aside from just doing my class stuff which is really slow).

What do you guys think?

Share this post


Link to post
Share on other sites
I would recommend Beginning Java Game Programming Second Edition. There isn't any ratings on this book on Amazon, but its an excellent game programming book for Java. The only requirement is you need at minimum a basic understanding of the Java language itself.

As already suggested, I would at least wait until you finish you first Java class before reading this book, but if you want to pick it up to see what game programming is all about in Java, by all means, pick it up. This book is fairly easy to read, with minimal coding errors in the examples. If you do have problems, you can always visit the author's forums. There is usually knowledgeable and experienced people who can help you out. It's fairly cheap too; under $20 bucks on Amazon!

Share this post


Link to post
Share on other sites
If you want to really learn computer science I would recommend doing some of the ACM programming competition problems and checking out projecteuler.net

As far as learning to program the main point of advice I would give you is start small, pick a project you know you can do, and do it. Make sure you finish. I can't tell you how much time I wasted not finishing things because they were "below me."

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