Going to Learn Java - What should I expect?

Started by
7 comments, last by sliders_alpha 12 years ago
OK,

A little Background about myself - I am a 3D Artist with a very strong passion for games and CG.
I am looking at learning Java later today as I am stuck on a project without a programmer that will not stay in one place.

What should I expect when learning Java?
Advertisement
What should you expect? A fairly typical programming language I guess.

I'm not sure what the question is asking.

Yo dawg, don't even trip.

Do you know any other languages?

because learning an object oriented language first is pretty hard.
first would learn a procedural language such as C;
Expect to have to invest a bit of time, to face some difficulties, and to have to put in some time learning before you'll be able to work on your own project. I would suggest investing at least a week or two -- quite probably more, depending how you find the experience -- of your time on the basics before you even think about having a go at your real project.

Make sure you don't just read about programming -- you need to actually write code. Do plenty of practice exercises, and expand upon them yourself as you go -- try making small changes, thinking about what you think the result will be, and then seeing what the result actually is; any time you were wrong about the result, spend some time finding out why you were wrong.


If you're a beginner, you should also expect to make a lot of mistakes. Don't be afraid of making them, or embarrassed when you do; making mistakes, finding out what doesn't work, and what you could try to avoid them next time is one of the absolute best ways of learning, and there are a lot of concepts in programming that can be difficult to truly understand until you have experienced them first hand. Making mistakes as a beginner is wonderful thing, as long as you take the time to learn from them.

Java is a relatively mainstream language, so you shouldn't really encounter much that you wouldn't when learning or working with any other language.


Hope that's helpful! smile.png

- Jason Astle-Adams


I am a 3D Artist with a very strong passion for games and CG.

Java is ok, but when you have never coded before, as jbadams said, I would expect that the first project will be really hard.


When you want to learn a coding language first, which would be even useful for a 3d artist, I would sugguest to take a look at shaders. It is a special programming language (not OO, more C like) with a limited scope (no libs etc.). It is just for the basic constructs (if-statements, loops etc.), atleast you're familiar with the basic construct of a programming language when you dig into java smile.png

as I am stuck on a project without a programmer


May I ask what the project is? :)

Also if you insist on learning programming yourself, make yourself a favour and don't start with C/C++/Java.

C and C++ are very low level, even most programmers can't handle them.
Java, in my opinion, is not a good candidate as it tries to simplify some things, while it messes up with others.

A good starting language would be python, together with pygame (a game library): http://www.pygame.org/news.html

Do you know any other languages?

because learning an object oriented language first is pretty hard.
first would learn a procedural language such as C;

I'm going to mark this one up. Yes, the last 2 sentences are open to debate (and it's a debate that one is better off not getting into right now), but the first question here is key, and seems to have been missed by everyone else.

Have you programmed before?

This could be as simple as using a scripting language in your 3D tool of choice, it could be playing around with some programming, anything. But have you at least some level of familiarity with some of the basic concepts of programming?

Because the answer to that question will have a whole heap of influence on the answer to your original question.

Direct3D has need of instancing, but we do not. We have plenty of glVertexAttrib calls.


Do you know any other languages?

because learning an object oriented language first is pretty hard.
first would learn a procedural language such as C;

(voted you up btw -2 for recommending an impopular language is silly)

Personally i would recommend against C , while the language itself is smaller and thus easier to learn it is also alot harder to use properly (Primarily because of the lack of a modern standard library).

I think we can assume that the OP has 0 programming experience and thus what he really is asking is:
What would i expect when learning programming.

Rather than answering what to expect i'll say what i think he shouldn't expect:

Don't expect fast results, learning programming takes alot of time and games in particular (Which is what the gamedev.net community focuses on) are relativly complex applications, be prepared to spend atleast a few weeks working with purely textbased applications to learn the basics of the language.

Also, for Java more specifically:
The graphics parts of the standard library are not really suitable for games so i'd strongly recommend using a third party library once you get to that point as it will make things alot less painful. I'd recommend looking at Slick(2D game engine), JMonkeyEngine(3D game engine) and LWJGL(Low level wrapper for OpenGL/OpenCL/OpenAL) once you're ready to start making games.

And finally, If you just want to jump into making games i strongly recommend looking at something like Unity3D or UDK instead.
[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!

[color=#282828][font=helvetica, arial, verdana, tahoma, sans-serif]

[background=rgb(250, 251, 252)]Personally i would recommend against C , while the language itself is smaller and thus easier to learn it is also alot harder to use properly (Primarily because of the lack of a modern standard library).[/background]

[/font]
[/quote]
true, [color=#282828][font=helvetica, arial, verdana, tahoma, sans-serif]

[background=rgb(250, 251, 252)] I didn't think about that.[/background]

[/font]

[color=#282828][font=helvetica, arial, verdana, tahoma, sans-serif]

[background=rgb(250, 251, 252)]that's just how it's done in most IT school of my country.[/background]

[/font]
[color=#282828][font=helvetica, arial, verdana, tahoma, sans-serif]

[background=rgb(250, 251, 252)]You are not really suposed to learn C to actually use it, it's more of a gateway to other languages.[/background]

[/font]

[color=#282828][font=helvetica, arial, verdana, tahoma, sans-serif]

[background=rgb(250, 251, 252)]first they make you learn C, make console programs wich are more educational than anything (calculator, fifo/lifo managment).[/background]

[/font]
[color=#282828][font=helvetica, arial, verdana, tahoma, sans-serif]

[background=rgb(250, 251, 252)]2-4 month later you learn C++ to get familiar with object oriented language while still being familiar with the language.[/background]

[/font]
[color=#282828][font=helvetica, arial, verdana, tahoma, sans-serif]

[background=rgb(250, 251, 252)]then 1 month later you get to learn java.[/background]

[/font]

[color=#282828][font=helvetica, arial, verdana, tahoma, sans-serif]

[background=rgb(250, 251, 252)]I remember trying to learn objective C while I only knew C. It was impossible, but at the time, I had no idea of what object oriented programation was and the courses I had downloaded were for people already familiar with it^^.[/background]

[/font]

This topic is closed to new replies.

Advertisement