8-bit RISC microcontrollers. You get cpu, RAM, flash, eeprom, and IO on a single chip. Down to 8 pins! Can write in assembly, C (supported by GCC), or Basic (BASCOM-AVR).
Building USB devices using a PIC
/PIC?
One way to get increased inputs and outputs is to use external chips that do serial->parallel (for output) and parallel->serial (for input). You use a small number of pins on the micro to talk serial to the external chips. Some of the chips can be cascaded to get more inputs/outputs.