After my first microcontroller projects with the Motorola
68HC11, I was looking for a newer, cheaper microcontroller with a larger
program memory. Furthermore, I was not keen on programming everything in
assembler.
So there were basically only two choices: The Microchip PIC or the Atmel AVR.
Since the GNU C compiler those days compile code for the AVR microcontrollers
(but not for the PIC), I decided against the PIC and for the AVR.
If the ARM were that popular and cheap as it is today, I might have chosen
something like the STM32 right then.
For a toolchain, you need the packages avr-binutils, avr-gcc, avr-libc and avrdude (for programming)