I need to have a reasonable grasp of C++ and Java in the next six months. I'm an extremely fast learner and just want to know where to start. Any recommendations on good books or online guides for someone starting from scratch? What programs/compilers would work best for my needs as a beginner? Money is no object; I can buy anything I need, but if a free program works as good or better, it would be nice to save some cash.