https://www.amazon.com/High-speed-TL866CS-Universal-Programm...
Tutorial :
http://www.avrfreaks.net/forum/programmer-minipro-tl866-howt...
Additionally, the IDE is often under the control of the manufacturer. I understand there are good reasons why this means there will be "bloat". Manfacturers are acting sensibly in their own self-interest.
As a hobbyist, I prefer chips that I can program using a UNIX-like OS that I can compile from source.
I prefer to program from VGA textmode, i.e., no GUI. I am not going to run Windows just to program a tiny microcontroller.
I am grateful for projects such as avr-gcc.
The more ambitious the framework, the more you have to wade through to figure out what it's actually doing when something breaks...I'd much rather have to deal with some cross-compilation headaches and dependencies than to be at a dead end when the 'black magic' stops working.
And yes, it handles compilation/flashing/etc automatically.
Edit - Bonus question: when you use something like that programmer doesn't the code/write/move-chip-into-circuit cycle become really laborious?
Real product versus toy: The arduino libraries are not the standard AVR libraries you would use to program a real product. In a real product you would also never use an arduino, too expensive and bulky.
Also, the arduino ties up a bunch of pins and space compared to just the chip, for not much payoff in a typically sharp focus microcontroller use case.
I think the cost for a programmer is a wash when you consider that you only need to buy bare chips after you learn how to use the programmer.
That said, I've done plenty of projects with bare avr-gcc (especially for chips not supported by Arduino at the time) and it's not terribly onerous, but often you don't need that level of control for every little thing.
However, I've recently used a couple different Teensy boards in some personal projects, which are a line of 3 or 4 different freescale kinetis cortex M0-M4 parts that have their own plugin for the arduino IDE. I've been very impressed with the breadth of libraries, and how well it all works and integrates between different boards. The code is well written, and looks like it could easily be dropped into arm-gcc. Maybe Teensy is the exception, but there are some high quality Arduino codebases out there.
Not being able to use in circuit debug tools is a huge pain, however.
The only advantage I've found to not using the Arduino libraries is when I need raw speed. e.g., a few months ago I had a project where I needed to read an analog input, calculate/lookup sine & cosine, do some math, and generate an output all within 300 uS.
At first glance, it seems trivial, but there was no way the Arduino libraries were fast enough. They are optimized for ease of use, not speed.
However, remember that in most modern programming, the programmer time is the most expensive variable. Using the Arduino libraries keeps that cost in check.
The 'new project' menu even includes 'import from Arduino sketch', and it's easy to add an external tool link so you can use avrdude to program the Arduino, just like the Arduino IDE does.
The Arduino IDE is... unique.
Studio 7 is based on Visual Studio, so if you're a Microsoft dev, it's a familiar look & feel.