I use the simulator built-in to MPLAB and I use the free/lite version of the Sourceboost BoostC compiler, which runs in MPLAB.I don't use simulators. I use a compiler IDE at best. I did all of my University Java assignments in notepad.
I found that my knowledge and understanding increased dramatically after taking the time to learn to use the Simulator and I highly recommend it.