Just as a user, I've been working in CPP and using one of the tinyUSB devices to flash new programs to my 328, sparkfun has this one for $15:
Pocket AVR Programmer - SparkFun Electronics
This one also has power, which is nice, I've been plugging my chip into an arduino board to power it, then hooking the tinyUSB to the programming port.