I don't yet have the ability to add "comments", so I'm adding this as an answer: it was suggested by Joel Spolsky that such questions would be best phrased as "one tool per answer please" - this would allow voting on individual development tools, thus is more likely to give you a list, in order of popularity, of the best tools to have.