I started looking for a microcontroller that I could play with as
a hobbyist.  
There are a few attributes I wanted:

  1. Parts readily available.  I used the Digikey catalog as they have many
    families of controllers available and they're a great distributor.
  2. Parts readily available in DIP packages for prototyping (see my banner).
  3. Reasonably C-friendly instruction set.  I used Z-80 in college and it
    has an instruction set designed with C in mind.  That's what all those
    SP-relative instructions are for:  accessing stack frame variables.  I got
    an 8-pin development board, and it did something known as not working.
    I don't know if it was a bum steer or what, but I couldn't get a program to
    load into the flash and run.  Besides, Zilog's website isn't real efficient at
    telling you in detail what the differences between the processor families are.
    I heard Microchip's lab emulator was good and reasonably cheap.  But as anybody
    who's written PIC assembly knows, banking and paging bits will be your bane.
    I like this quote from the PIC vs. AVR smackdown (I fixed the English):

    Overall, I've written some asm for both processors and I hate to
    break it to PIC
    users but writing assembly for PIC is akin to stabbing
    myself in the face. [Except
    it's not even that efficient, because you have
    to more the knife into the working register
    first (movlw KNIFE), and
    then you can stab yourself (movwf FACE).]

    I just didn't feel like spending a third of the flash memory flipping those bits.  Not to
    mention a fixed 4 or 8-level stack that only holds addresses, not data--oh just forget it.

So, I got the dragon and a few AVR parts and started tinkering.  I was stunned at how the
AVR studio and WinAVR compilers installed and just ran.  Then I wrote a timer ISR.
It worked the first time.  Then I started twiddling I/O pins.  Set the DDR, and go.  They just worked.
Everything is in a good default reset state.  If you turn a peripheral device on, it takes over the
I/O pins just like the manual says and works.

I wire wrapped a 6-pin header for ISP (In-system programming) and hooked it up to the Dragon
board and with one keystroke I compile, and one mouse click load the flash with the new software
and the part comes out of reset running.

So, I'm a happy camper.