Programming 101
Well obviously I don't fully understand this whole write, compile, transfer thing yet. Correct me if I'm wrong (Probably am).
There are programs like Swordfish that you write your program in.
Then there are programs (like PICkit2) that compile the program to hex and load it to the chip
Then there are acronyms like MPLAB, & MPASM that I have no idea about yet.
I have down loaded the MPLAB and still no closer to understanding what is going on.
Mike, I think you have some mis-conceptions here. If I'm stating things in a way that is *too* obvious, my apologies.
You "write" a program in a language that is easy for you (the human) to understand. This can be done with any text editor that tickles your fancy.
Your "language of choice" could be low lever (such as assembler), a high level language such as "C", or something in between "Basic". (I'm sure there are some out there who will question my categorizations.. but I'm basing this on the "Basic" that I'm familiar with, and used some 20+ years ago).
The program is then compiled into a form that the device itself will understand (aka "Machine Code"). This "machine code" is normally stored
on your drive and referred to as a binary (or HEX) image.
This 'binary' image must then be loaded into the PIC in order for the PIC to execute the code.
So.. back to your earlier statements:
When you mentioned "PICKit 2" as a program that compiles the code and writes it to the PIC, you are incorrect. PICKit2 (the software application) is not a compiler. It is a tool used to take the binary image and transfer it to the PIC.
What you want to look at is MPLAB IDE (IDE = Integrated Development Environment). An IDE typically combines all the tools you need into you program. You can edit your program, compile it, and download it to the device. As a bonus, it also includes a debugger that will allow you to step through your code, as it runs on the device itself.
I hope this puts a context in place for you.
[Disclaimer: I'm ignorant as to what Swordfish basic is. So I can't comment on how it works (or not). It may be just another language that you use to write your programs, or it may be an "Basic interpreter" that runs native on the target (your BASIC is interpreted, versus being compiled). Easy to use, but slow to run. I'm sure someone more knowledgeable can add details
about this]