For programming, you have the 3 suggested above, then you have mikroBASIC, mikroC, mikroPASCAL, IAR, etc.
For the software for programmer, there are plenty, but it should come with the programmer that you have.
ATMEGA32 is better than PIC 16F877A in some respects and worse in some. Doesn't matter. In the end they're both similar in performance. They're both very capable and what matters in the end is, if you can get the most out of the chips.
Hope this helps.
Tahmid.