

TL;DR: The Arduino language is C++ with an automatically included library, but it’s descended from a Java project with an automatically included library.
Processing is a graphics and art based graphics library/IDE that uses the Java programming language. It basically includes some classes and methods by default on top of Java that makes programming graphics and even simple games a bit more straightforward.
Processing’s IDE was forked by the Wiring project for the purposes of microcontroller hardware programming. Because the Java Virtual Machine is a bit much to ask a 16MHz 8-bit AVR to run, they switched the language to C++ which compiles straight to machine code that runs on the bare metal. Again, it’s just C++ with a library included, under the hood it uses gcc to compile and avrdude to program the chip. I believe the IDE itself is still written in Java.
Arduino took Wiring and painted it teal. They’ve extended it quite a bit since then but in the early days Arduino was really a hardware project. They’ve since added support for non-AVR boards to the Arduino IDE, including ARM-Cortex and ESP32 based boards.
Raspberry Pi offers C and C++ SDKs and a MicroPython interpreter for the Pico series. Someone contributed support for RP2040 based boards to the Arduino IDE; I don’t believe that was done officially by either RPi or Arduino.










Meanwhile, I’m a sky-going pilot and I’ve never had much of a problem avoiding airliners. We’ve got these really cool guys called air traffic controllers that help us out with that. I love those guys, they do a great job.