You've missed what Arduino is for. The Arduino software/hardware combination is not meant for professional hardware and software engineers who know what they're doing. You're complaining about the quality of the software, elsewhere you'll find EEs bemoaning the fact that most practical use cases of an Arduino could be replaced with a 555 timer chip.
In any event, you don't HAVE to use the Arduino software. If you hate it so much, stop using it! The Arduino software just wraps existing open source "normal" MCU toolchains, you can use those directly instead.
> You've missed what Arduino is for. The Arduino software/hardware combination is not meant for professional hardware and software engineers who know what they're doing.
No I haven't. This kind of "but it's for beginners!!" argument is nonsense on two fronts:
1. Just because it's for beginners doesn't give it an excuse to be bad. Why doesn't incremental compilation work? Why doesn't it have a proper build system? Why is the API so awful? You can fix all those without hurting beginner friendliness - in fact fixing those would make it more beginner friendly.
2. The fact that it is soooo popular means that there isn't a good alternative "pro" option anyway, so I am more or less forced to use the "for beginners but terrible" Arduino because it's what everyone else does. Why shouldn't people who know what they're doing be able to use Arduino?
What the pros actually do is use the vendor-specific SDKs, but those have their own big downsides (namely they're vendor specific).
In any event, you don't HAVE to use the Arduino software. If you hate it so much, stop using it! The Arduino software just wraps existing open source "normal" MCU toolchains, you can use those directly instead.