I like Arduino IDE as kind of a living reminder of "how the other half lives". I'm sitting here with Tinygo and my J-Link pushing several revisions of my code per minute (not to mention fucking goroutines and channels on an ARM M0 core), and other people are fiddling for hours trying to get Arduino IDE to compile code for 45 minutes only to be told COM69 is no longer connected (because Windows decided that it's now COM123).
I really think that professional software engineers are trolling "normal people" with stuff like this. Oh, you want to be a programmer? Jump through these 8 million flaming hoops suspended over man-eating sharks, and you'll see just how hard it is to make an LED blink. After failing, you will dedicate a new national holiday to our sacrifices; we do this for a living and you should be grateful that literal human garbage like you are even allowed to THINK about monitoring the water level of your potted plants. But behind the scenes, we don't do this for a living. When we press TAB, our IDE knows exactly which level to indent the text too. When we want to reflash our microcontroller, it does a diff of the last binary we pushed and updates only the 3 flash cells that actually changed and updates it in microseconds. When we want the documentation for some library function, it pops up in a web browser hovering above our cursor. Our life is nothing like this. We just use our skills to give you tools to make you think programming sucks.
I definitely agree. Arduino was good back in 2009 when professional alternatives were expensive and complicated, but it basically didn't change at all until now. And they've only really fixed the IDE. The rest of it is still terrible. Awful API, badly written libraries, everything done over an (emulated!) serial port.
It's like the legal system where emails are converted to fax when sent and then back to email when received.
That said, I think Mbed should have eaten Arduino's lunch but they kept making loads of different terrible build systems, and there are still a load of old boards available that need firmware updates to work properly. I have a couple of K22F's that have been bricked just by plugging them into a Windows machine. Never happened with Arduino.
So yeah, Arduino have sat still at the "it's rubbish but it works pretty reliably" stage while Mbed has failed to get beyond "it's great... when it works".
Because having thirty billion integrations and automations, toggles and etc that a new user may mess up is overwhelming for a newcomer. Arduino IDE serves great as a plug-and-play introduction to microcontrollers, allowing people to learn what they're doing before figuring out what the billions of automation tools are and how to tame them. It's the same reason python still has IDLE, it's just notepad with a run button, because it's all you need when you first start getting to grips with everything.
I don't think syntax highlighting and autocomplete and live error squiggles and tooltip help make things harder for beginners. The optimum beginner experience definitely isn't Eclipse, but it also definitely isn't Notepad!
VSCode is kind of bloated + really bad if you like to exclusively use keyboard control rather than "mouse sometimes", as things lose focus easily when notifications and other things gets focus and then it doesn't drop focus back where you were.
Not every tool is for everyone, and that's fine :)