(Posted on behalf of Miles Thibault, a former CSC49X student now working in London, England.)
I have a problem: I'm a Python programmer. That's not the problem. My problem is that I'm starting a Java project and I don't really know what experienced Java developers do when they build software.
I know I want things like version control, an IDE, unit tests and logging; but I don't know which specific tools and libraries I should be using, nor how to best utilize them.
There are myriad books on the Java programming language proper, but I'm having a tough time finding anything that says: "If you're going to build Java software, here are some popular/pragmatic tools that most people use because they like building quality code and they don't like wasting their own time."
I've spoken to a few Java hackers and here's what I've come up with so far (thanks Bill, Sean, and Greg). I'd be interested in hearing what else you use.
Subversion (included for completeness---I already use version control)