Both the PICKIT2 and PICKIT3 are really old programmers, the PICKIT4 replaced them years ago, which in turn has been recently replaced by the PICKIT5.
However, the PIC16F877A is an antique device, so is covered by the 2 & 3 (and also by the 4 - I can't comment on the 5, as I don't have one).
I would suggest a PK4, or a PK3 if you must - the PK2 is far too old, and doesn't support a lot of modern devices. A BIG advantage of the PK4 is that it can provide much more power to feed the target board, while the 2 & 3 provide very little, and often have issues with ICSP, as it can't power the rest of the board.
I would also suggest you drop the 16F877A, as much more modern devices are available at lower prices with much better specifications - my datasheet for the 877A is dated 2003, and the original 877 is far older than that.
You can get modern pin compatible PIC's with far better specs, and many more peripherals.