[Warning: Rant (only half on topic)]
My first uC programming was with the PIC16F84 and was short lived. I found the convoluted instruction set and programming in assembly horrible.
Then the AT90S2313 was released. One of the first uC's supported by GCC and I jumped on it. Had lots of fun. Later I also used some bigger versions such as the ATMEGA8, 16, 32 and 328, and they have a fair bit of compatibility, although often there were annoying little differences such as renaming the same bits in registers, which makes software incompatible, or little changes in timers. Mostly improvements, but I just wanted software compatibility so I don't have to keep on rewriting my own libraries.
Then the ATtinies came. I bought a bunch (about 20) but never used them. They did not even have a Uart. (My mistake).
Just today I was looking at Microchip again. Specifically ATtiny3226 and AVR32DD20. and they also break compatibility. Uart is quite different. For 20 years or so I've been waiting (longing) for an easy breadboardable AVR (size ATTINY2313) with a fair amount of memory, but Neither Atmel nor Microchip never made them. I wish I could cut of 8 or so pins from the ATMEGA328, but some smart guy decided to put the programming pins at one end, and the reset pin on the opposite end, so that's a no go either. That leaves using a QFP on a small adapter board. And an another annoying thing about the ATMEGA(32)8 line: You can't have an 8-bit databus and a UART at the same time. The UART is on the only 8-bit port it has.
Some 10 years ago I had a look at the Xmega's. Loads of nice features, but they were so completely different, that I might as well look further. My current goal is the ST line of processors. They have a fair bit of compatibility in peripherals from the smallest STM8 to the biggest STM32. The difference between 8 and 32 bit does not matter much when writing C. My big problem is the horrible Cube software, but that's a different chapter.
But overall. I've simply lost interest in Atmel / Microchip. They have a different processor line and different programming interfaces every 3 years or so. I lost track of what their programming tools cost, but you can buy an official ST-Link V3 for around EUR 10, and it programs all ST processors and it does it quickly too.
Even 20+ years ago people were complaining daily about the MPlab software that was so buggy that it was barely usable. Atmel also had some complex monster back then, but I just used GCC and some header files and was happy enough with that.
"avr-gcc --version" gives 5.4.0 on my linux box. That is from 2015. 9 years old. Microchip is hostile against Open source. They tried obfuscating they are using GCC for some years, and they probably still make access difficult. I will keep on using the old ATMEGA series, because I know how they work and I've based all my personal libraries on it (I never used "arduino")
Even their forum (avrfreaks) is hostile. I once posted there frequently, and every now and then I wondered why people who were also long time posters suddenly disappeared. This happened at least 5 times during the time I was posting there, and then I discovered why. The people who call themselves "moderators" on that forum behave like arrogant gods. They delete whole threads and delete any topic that they do not like. This reduces contributes to typing monkeys, and at some point I just never logged in again. Every two or 3 years I have a short look at that forum, and when they changed their forum software there was some glitch and a bunch of hidden topics / posts were visible. Among those I read questions form others about whether anyone knows what happened to me.