As my thinking, programmer is always said as the hardware + the software. If you have hardware, and do not have software, you cannot program or reprogram for the chip.
However, it also have to be thought that the hardware and the software can be developed by different brands. The essentials of PG2C is the JDM principle, therefore, you can choose any software which supports JDM hardware.
The PICPgm or WinPICPgm (for windows) are the software, and it support the JDM hardware.
So, we usually say in Vietnam that programmer (mạch nạp) is the hardware and the software is the suitable software (phần mềm nạp). Choose the principles first, then choose the hardware based on that principle, then choose the software which supports your hardware's principle.
If you cannot understand Vietnamese, just click on all of links on this page:
http://www.picvietnam.com/forum//showthread.php?t=4 to open as many windows as you can. Close all the Vietnamese windows. Then you check the others. You can find many interesting sites that we recommended.
Goodluck.