Hi guys, I'm new here. I'm trying to learn java game development. What I wanna know is, should I start learning java game development and learn the java language on the way or should I try to learn stand alone java first?
Any good feedback will be greatly appreciated, cheers!
It is not one or the other. It is a matter of degree. There is no end to learning. You can't take the time to learn everything or you would never get started.
So a better question might be "How much do you learn before you get started?"
AT the very minimum you are going to need to know how to load your IDE of choice (assuming you use an IDE) and install the JDK.
One extreme, the one I lean towards, would be to jump in with both feet. I find it is much easier to learn a new computer language by writing code in that language. When I get stuck I go look at the tutorials or something. They say we learn best by our mistakes. So I make a lot of little mistakes.
That is three mistakes right there, I am learning fast.
But I may not be representative. You might benefit from at least reading through the first of the Java Tutorials offered by Oracle. That would get you a feel for how to do some basic things quickly. It will also give you a flavor of what you can do with simple Java. It will set your expectations reasonably and wet your appetite for more. How many of those tutorials should you complete before you get started? Well, personally, I can't stand to do any of them. I would say read through them, and when you get antsy to try something you just saw, then jump in.
The other extreme is to try and learn as much as you can so you don't make mistakes, (or at least you know where to go to find the answers you need). I learn more about java all the time, even though I have already written much code. I think that is normal. What's more, I find that as I study other languages, I learn still more about Java because it shows me more clearly what Java does well, and what it doesn't. But of course you can't be bothered to learn every language before you start writing programs in your first language. That would be the other extreme from the one I chose. AS I said at the beginning, it is all a matter of degree.
Hi Derik, thank you for the welcome and for taking the time to lend a hand.
I understand what you're saying and I will make sure to put your advice to good use. I just have one more inquiry, I know the very basics of java (assignment, different operators, conditional operators, etc) but I struggle to put it all together so I can say "Huh, so that's how I can use that" or "so that's where that goes". With that being said, what can I do to make practicle code? Because I'm one of those people that learns through doing and demonstrations.
Also, I struggle to get the work to stick in my brain. As a seasoned programmer, can you please shed some light on effective learning?
If you don't know enough Java before you attempt to write commercial programs you are likely to end up with a code base that is almost certainly poorly written, inefficient and a nightmare to maintain.
Derik has given some good advice but I would not attempt to write anything that you intend to keep until you have spent some time playing around with Java and getting a feel for the packages etc. You certainly can't learn everything, no one here knows it all but you do need a reasonable understanding of the basics or you will end up continually reinventing the wheel.
As for getting it to stick - fully understanding why you should do things a certain way helps but there's no real substitute for repetition.
Every current language survives in the marketplace because it has (or is perceived to have) some advantage over all others, at least in some context or for some kind of application. Those differences have to be pretty substantial to justify a whole new language (as opposed to adding new features to an existing language). Thus, at least in my experience, every language worth knowing is also worth respecting for those substantial differences. That means devoting the time necessary to developing some mastery of those differences before proceeding to use the language for actual production.
In my own case, I had never used a managed language before Java, so the absence of pointer arithmetic was kind of jaw-dropping to me. If you're not at home with object-oriented programming, that's going to be a big hump to get over as well. Then there's the enormous developer API. You really need to have some grip on those sorts of things before jumping into a meaningful project.
(Oh, and you must be prepared to argue religiously for one side or the other in the no-unsigned-bytes debate. There are no exceptions to this rule. )
"Il y a peu de choses qui me soient impossibles..."