PIC Programming
4 steps to help you get started with PIC programming
Note: I haven't used this programmer myself in years. A good and simple programmer schematic and Linux software can be found at http://www.iet.unipi.it/~luigi/pic.html. If you want to use it, replace step I and half of step II appropriately. Please refrain from asking me questions about that site.

I had to remove some of the precise links to Microchip's site, because they keep moving the files around.
1. Build the programmer
This programmer was originally intended to be used with the PIC16C84 processor, but Juho Cederström pointed out that it works with the PIC16F84 as well. It can be built with only a few components, and connects to the COM port of a PC. Here is a schematic of it. The programmer can be integrated to your project's circuit or a separate programmer can be built. A zero insertion force (ZIF) socket is useful in a separate programmer.
2. Get the software
Download the programmer software for DOS. It should work in a Windows 95/98 DOS box too. You also need MPLAB to compile your program to HEX files used by the programmer software. With MPLAB you can also simulate the PIC on your computer.
3. Print the documentation
Printing the user's manuals for the software and the PIC16C84 datasheet makes learning much easier, because you can easily flip through them while coding ASM files. The documents can be found at Microchip's site.
4. Get example code and build a test circuit
The best way to learn is by studying an example, changing it a little, and then running it with the simulator or a test circuit to see what happens. The PIC datasheet contains all information needed for building a test circuit, and reading it is a good way to learn about how the PIC works, too.