As far as older programmers, the newer PIC offerings cannot be programmed with the older PICKit2/PICKit3 programmers. There is a cut-off. Microchip is currently only supporting PICKit4, ICD4, and Snap.