General Question

yoda's avatar

What is the best way to learn java?

Asked by yoda (2points) February 11th, 2008 from iPhone
Observing members: 0 Composing members: 0

7 Answers

iTony's avatar

Ditto on that. I also want to know.

paulc's avatar

I suppose you could start with JavaSE. Do you have programming experience in any other object-oriented languages? If so, then it shouldn’t be terribly difficult.

As far as I know, Java is widely used in academia and so there’s a ton of information and users out there. I find newsgroups can be a good resource for asking questions about a given language and I believe there are a few devoted to Java.

cwilbur's avatar

There are two ways to learn Java (or any other programming language, really).

One is to sit down with a project in mind and a good book on Java aimed at your level of programming skill, and to keep trying it until you get it right.

The other is to take a course in Java

Both are a fair bit of work.

And one thing you need to remember, if this is your first programming language, is that you don’t just need to learn Java, but you also need to learn to program. Among non-programmers there seems to be a perception that learning the language is the hard part; that’s simply not true. The hard part is learning to think analytically, both when you’re writing the program in the first place and when you’re debugging it.

So if you go either route, you need to get a course or a book that’s aimed at your particular level. This will be different if you’ve been programming in C++ and Python for years than if you are a total novice who’s never written a line of code before.

Unfortunately I can’t recommend any specific Java books, because I don’t do a whole lot of Java work. But I expect some of the people here can. If you go the course route, and you want it for work, you either need a college degree or Sun certification; the number of people incorrectly claiming Java expertise with those credentials is so high that you won’t even get looked at without them.

Mulot's avatar

First of all, if you begin with programming, you need to have algorithmic knowledge, because ALL languages are based upon algorithms. Iterations, conditional statement are bases for programming.

Then you need to look at algorithmic first.
If Java is your first choice to begin programming, take care of the fact that you begin with an simple memory management language, indeed, there is no real memory management for Java (see Garbage Collector for more informations).

But if instead you want a real memory management language with pointer allocation and so on, you should begin with C, which is also used and more efficient than Java. Then going to C towards Java will be a very easy transition, but on the contrary, Java to C will be a kind of nightmare ! (segfault inside!)

If you still want to learn Java, their is a lot of tutorials about it on sun website, but the best is to make a little project of your own, like cwilbur said, a really basic at the beginning, to learn by yourself.

dibau_naum_h's avatar

Best book to learn Java from is Core Java by Horstmann & Cornell ( It’s for people with some programming knowledge, in any other language. The book is by far the best way to learn the language by yourself.
I used to teach Java, but recently switched to teaching Python instead. If you’re interested, there are free weekly lessons for people without any prior knowledge, given for free at:

yoda's avatar

thanks guys!

dibau_naum_h's avatar

You may also like the great resources & behind-the-scenes knowledge in

Answer this question




to answer.

This question is in the General Section. Responses must be helpful and on-topic.

Your answer will be saved while you login or join.

Have a question? Ask Fluther!

What do you know more about?
Knowledge Networking @ Fluther