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
![](http://dlnmh9ip6v2uc.cloudfront.net/images/products/09825-05_i_ma.jpg)
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.