No you don't have a programmer on an arduino. You have a boot loader, that is code inside the processor. This talks to the serial port of the PC to get the bytes of the code and then it programs the area of the memory that is not the boot loader with the bytes it receives.