well for programmer, like I said a lot of people recommend Bill's stuff
I don't personally have one of his programmers, but out of the ones I have I love my mikroelektronika easypic4 (
https://www.mikroe.com), it's a development board so it's a bit pricier, but it provides a huge bang for the buck. I got started using kit 150 from
kitsrus and never had any problems with it, used it for ICSP until I got my ICD2 from microchip. I'm happy with all of them, initially I started with a JDM programmer, but after screwing around with it for like 2 weeks and not getting a single PIC programmed, I tossed it and went with the kit 150.