PICKIT 2 is a good programmer. It does not care which compiler you use, as it loads the intel hex file into the PIC. The steps are generally, you write "code" in basic or "c" and using the appropriate compiler, compile your code which then gets turned into assembly, which by the way you can write your code in instead of those Higher level languages, then the assembly code, gets ran through an assembler such as MPASM (FREE from Microchip), the assembler generates the hex file which the Programmer loads into your PIC.