Absolutely this. I'm nowhere near 16 anymore but if my first encounter with Arduino involved setting up PlatformIO or even CLI tools I would've moved on very quickly to something else. The whole point of Arduino is to be as beginner (and lazy people) friendly as possible.
I’ve been mentoring an FRC team (highschool age) where vscode has been the development environment for 3 years now. In my experience it hasn’t been one of our pain points.
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.
Maybe, some kids like diving into the meat of things. Might be good to show them one way, but also let them know that the other exists. I've found PIO much easier to use after just a few days of playing with.
Sure, that is easy to do after you have them hooked up. But dead-simple installation is the only thing I care about when each extra click turns off another 20% of the newbies (made-up percentage). Especially if you want to present it as "a tool that you can use improve your main hobbies/interests", as opposed to something they should master. Pushing even further on this, when I show a PhD bio-engineer how to use Arduino to automate their bio-reactor, I am certainly going to use the two-click-to-setup Arduino IDE, instead of PlatformIO. The extra features are detrimental when all you want is to show a tool exists and can make your life easier and more interesting with minimum extra effort.
Exactly the opposite. Learn the simple tool (the bike / the single click Arduino IDE) before expecting kids to know how an engine works. This is the most basic obvious principle in pedagogy.
Sure, but many kids won't have the patience to play with PIO. The Arduino experience to make a LED blink is literally connect the device, copy paste the blinker code into the big text box, select the device and port in the tools menu, click upload, done. That can be done in a few minutes without any of the kids getting too bored.
Yep. When I got an Arduino I was a bit disheartened at first to find people only talking about the Arduino IDE for programming it. I found a few custom makefiles and was half way to installing my own avr toolchain when I found platformio. I don't find joy in manually installing toolchains any more so it was perfect. I was up and running in minutes.
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.
The new Arduino IDE is based on Eclipse Theia, which I think is a fork of VSCode. It won't be hard for someone who starts learning with the Arduino IDE to switch to VSCode later.
I've been teaching in University environment and the disparity of computers and operating system versions made the Arduino IDE the way to go. It just works everywhere.
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 only used the VScode extension and is great. Except that it modifies the whole interface so I have two IDE instances one for with platformio and one without. It even encouraged me to write test for my arduino projects
My data point: I tried PlatformIO for an ESP32 project recently, but ended up with command line esp-idf because the complexities of another layer on top of everything just didn't seem worth it for a hobby project.
I used PlatformIO once, when I was using it to run the Arduino Libraries on an MT3620 Azure Sphere board, so that I could try programming for Microsoft's IoT board series with a more familiar language. It was a bit strange and clearly unofficial, but it did work and I was able to package Arduino sketches into OTA images for the board with it, so I can't complain.