I couldn't be more off-topic, but...

jordan on 2004-02-02T22:40:52

Looks like we'll be using Java for a serious project at work. I've dabbled in Java in the past, but I was always kind of scared away by the huge intellectual footprint. It just seems like so much infrastructure for so little advantage.

Be that as it may, it's probably time now to swallow these objections and get into it in a serious way.

The resources and advice out on the web there are daunting and confusing. Here, there are people that I trust, at least none of you will try and sell me a Java book or course. Some of you have done significant Java, I would imagine.

What do you folks recommend would be a good course to really get into Java? What are the good books? What about the books available on chromatic on 2004-02-03T00:02:29

Bruce Eckel's Thinking in Java is quite handy. You also might appreciate Head First Java. (Though the style puts off a lot of people initially, it works really well. I was prepared to hate it.)

a few resources

lachoy on 2004-02-03T01:15:27

I second chromatic's recommendation of Thinking in Java -- it's a little wordy but pretty clear. O'Reilly's Java Cookbook[1] is very good, as is their Java in a Nutshell[2], and Joshua Bloch's Effective Java[3] is a must once you've got some code under your belt. Fowler's Refactoring[4] is also fantastic.

Sun actually has quite a few tutorials on their site [5] that aren't bad.

There are a ton (some say too many) of opensource projects under the Jakarta [6] umbrella. If you're the sort of person who learns by reading other code it's not a bad place to start, particularly some of the simpler projects like commons-lang and commons-collections. You'll wind up getting frustrated because some functionality that takes 10 or 20 lines in Java will in Perl will be one or two.

If you're doing server-side application development I'd recommend spending some time with the Spring framework. [7] It's well-documented, well-designed and strives for simplicity, which is a big difference from many overdesigned Java projects.

Finally, in terms of development environments take a look at IntelliJ IDEA.[8] It's the IDE that got me away from xemacs for Java -- don't think bloated editors like JBuilder, think supersmart and productive. I seriously wish I had this for Perl. Some folks like Eclipse[9] as much as I like IDEA, but IDEA is more polished and straightforward as Eclipse makes you buy into its worldview to get anything done.

[1] http://www.oreilly.com/catalog/javacook/
[2] http://www.oreilly.com/catalog/javanut4/
[3] http://www.amazon.com/exec/obidos/tg/detail/-/0201310058/
[4] http://www.amazon.com/exec/obidos/tg/detail/-/0201485672/
[5] http://java.sun.com/learning/tutorial/index.html
[6] http://jakarta.apache.org/
[7] http://www.springframework.org/
[8] http://www.intellij.com/
[9] http://www.eclipse.org/