Now, though, as the price of controllers slide towards zero and the devices are hence used in truly minimal applications, I hear more and more from people who get by without tools of any sort. While it's hard to condone shortchanging your efficiency to save a few dollars, it's equally hard to argue that a 50 line program needs much help. You can probably eyeball it to perfection on the first or second iteration. Again, appropriate technology is the watchword. You can often bring up a microcontroller-based design without a logic analyzer, since there's no bus to watch.
Some people even replace the scope with nothing more than a logic probe.
An army of tool vendors supply very low cost solutions to deal with the particular problems posed by microcontrollers. Some companies cater especially to the low-end. Most do a great job, despite the low cost. I recently looked at Byte Craft's array of compilers for microcontrollers from Microchip, Motorola, and National. Despite the limited address spaces of some of these parts, it's clear a decent C compiler can produce very efficient code.