Learning Java?

Dougmeister

Senior member
Sep 15, 2004
568
2
81
For a programmer with several years of experience, where is a good place to start?

Sitepoint lists some good steps and I was wondering what you all thought about them. I'd be practicing for Windows development, maybe some Linux would be helpful, too.

1) Download the Java 2 Software Development Kit (SDK)

2) Use some Googled resources (any recommendations?0

3) Get a good book (O'Reilly, Java In A Nutshell)

4) Remember the list of free tools listed here at Anandtech

Other ideas?

Thoughts?
 

tatteredpotato

Diamond Member
Jul 23, 2006
3,934
0
76
You're a programmer with several years of experience, but what language(s) are you currently familiar with?
 

tatteredpotato

Diamond Member
Jul 23, 2006
3,934
0
76
Java is going to be pretty similar to C# (I don't have too much Java experience, but syntactically they are very similar). I read "Head First: C#" when i was learning that, and I believe that there is a "Head First: Java". These books are geared towards the beginner/intermediate, so they might be below your level, but I would suggest them if you aren't terribly comfortable with principals of OOP.
 

Dougmeister

Senior member
Sep 15, 2004
568
2
81
Another good point. My OOP/OOD isn't what I'd like it to be. Mostly academic, and 6-12 months between my existing Java experience and part of one of my VB.NET projects.

Thanks for the input.

Anyone else?
 

Ken g6

Programming Moderator, Elite Member
Moderator
Dec 11, 1999
16,836
4,816
75
As I recall, the main differences between Java and C# are:

1. Java has primitives. Just a few: int, char, long, float, double - I think that's it. You have "wrapper classes" like Integer and Char to make them look like Objects.
2. Instead of the MSDN library, you have the API documentation. Get used to this format! The upper-left pane is like the MSDN tree, but just with dots delineating the member packages. The root of the tree is the main package; whether the JavaDocs are used for the Core API or some other API you download. For a different version or something you need to go to a different page. The main left pane lists all classes under this tree node; while the right pane shows the documentation.

Now, if you know the basics of C#, you'll probably want to jump into writing a GUI. I don't see anything about AWT or Swing in my old copy of Java in a Nutshell, so you'll probably need another source. I'm not sure what's being used for Java desktop GUIs these days, but Java seems to like Swing, so you could try one of their tutorials.
 
Sep 29, 2004
18,656
68
91
Suns website has tutorials that are very good and free.

You'll want ot download the Eclipse IDE! That is the best IDE for Java.
 

ivan2

Diamond Member
Mar 6, 2000
5,772
0
0
www.heatware.com
you already have 6-12 months of java experience, it would be good for us to know which direction you want to pursuit. currently a lot of development are on the web/service oriented application side of things.

concur with the Eclipse (not MyEclipse, just eclipse).
 

Dougmeister

Senior member
Sep 15, 2004
568
2
81
I only want to learn it to be marketable, so I'm flexible. I have been doing web development for a while now and think I should continue, but am open to suggestions.
 

ivan2

Diamond Member
Mar 6, 2000
5,772
0
0
www.heatware.com
so for marketable i think EJB3 will be a good start. you will get familiar with annotations which will help you further down the road. After that you might want to start looking at some JSF stuff (pay attention to Facelets, it is what's hot right now), and then Richfaces or Seam.