Arduino Code Editors
Programming your Arduino is easy these days. Now the only hard choice you need to make is to select a development environment. This article points you to some great choices.
We can't but start with the original: Arduino IDE. This tool has been around for a while, and is something you need to install, regardless if you use it as a primary IDE or not (some tools require the Arduino IDE to be installed in the background). Apart from maybe looks, it has all features you may ever need, and then some.
The below image shows the IDE with a small tweak (dark theme) and showing the ever-classic Blinkt code (which is available in the examples menu).
Download here and get a Windows, Windows portable, Linux or Mac version.
Arduino Web Editor - Create
"Arduino Create is an integrated online platform that enables Makers and Professional Developers to write code, access content,configure boards, and share projects. Traditionally speaking, going from an idea to a fully-functional IoT device has been a tedious process even for the most advanced engineers and developers. Until now, they would have to frequently switch back and forth between various tools and screens, from IDEs to cloud services". That's why the good folks at Arduino.cc have created this amazing online tool.
We like the tool very much for many reasons, but one has to be mentioned: it has a very nicely done secret management (i.e. you do not need to expose usernames and passwords anymore in code).
PlatformIO is a tool for pros and one you will end up with. Having said that, start small with the Arduino IDE (described above) and once you have outgrown it, get this tool. You can use PlatformIO embedded into Visual Studio Code (our choice) or into the Atom Editor. As the slogan says: "PlatformIO is an open source ecosystem for IoT development. A Cross-platform IDE and unified debugger. Remote unit testing and firmware updates available"