I think my last electronics project was about… ten years ago? I used the PIC microcontrollers from Microchip, which I programmed in assembly and that I used a cobbled-together serial port programmer hardware to transfer the program to the microcontroller itself. There was the BASIC Stamp, which allowed you to program the PIC in BASIC, but that was crazy expensive, as were the C compilers and USB programmer boards for the chips. So it was all quite low-level stuff that I did, because it was hard work.
There were competing microcontroller platforms, but those were pricier and I had already invested in my PIC development environment, so moving to another platform was not trivial.
I have an idea for a project, interfacing with a PC, and a bit of searching around brought me to the Trinket by Adafruit, which is an Arduino-compatible microcontroller development board that is cheap enough that you could simply leave it inside your project! It connects to USB, and the Arduino software is a free C compiler and programmer driver. Ok, you need to install a special USB driver, but then you can just connect the microcontroller to the USB, load up C code in the IDE and click a few buttons to upload the compiled code to the chip. Press a button on the chip board itself, and it connects as a USB keyboard and starts typing out messages (if that is the code that you uploaded).
That is amazing for only about an hour of work. I can’t even begin to imagine how that would work out with the “old-fashioned” PICs I used to use. And it’s all open source and open hardware, which I think is a big factor in how popular the platforms are, and thus how much development is done on the supporting technologies.