PlatformIO for generation of value.
ArduinoIDE for demonstration of value.
A tabbed text editor is approachable enough for anyone that uses the web, and then we don’t use many features beyond the file tree view and a few items in the Ctrl-shift-p menu. It helps that the students interested in programming are usually comfortable using windows to start with but we also take students that don’t know how to use anything but a mobile OS and teach them.
Although they don't mention it (maybe they should) I used pipx [0] to install platformio. It's the best way to install a Python app.
Plataformio in my opinion is good for people who are familiar already with Arduino and VScode type of editors.
I really don't get why developers spend so much time developing some really great piece of software and then just make the install a really horrible experience. The last mile of software development, the install processes, needs to be unremarkable and boring.
Arduino's IDE is nice for some boards since you install the software and everything is ready to use, but that is only the case for some boards.
PlatformIO is mildly more difficult to install since it is a two step process: first the VSCode, then the extension. Both steps are easy enough to do and to some people it is preferable since they are already using VSCode.
The difference between Arduino's IDE and PlatformIO come down to installing board support and libraries. Arduino's IDE is probably better if you are using Arduino libraries on a board that it directly supports since the installation process will be nominally easier. If that isn't the case, PlatformIO will likely be significantly easier since it supports more board, frameworks, and libraries.
I do use their official programmer, even though it is expensive (it can program AVR & PIC families) to avoid compatibility or driver issues.
I have used PlatformIO in the past too, but nothing beats a custom made IDE designed for programming a core set of chips.