this post was submitted on 15 Dec 2025
561 points (98.3% liked)
Programmer Humor
27867 readers
990 users here now
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
you can program a Pi Pico with the Arduino IDE in C++. Some projects will just compile if you aren't using some AVR specific features like the built-in EEPROM that the RP2040 doesn't have.
That's actually pretty cool, but aren't the majority of Arduino projects written in Arduino (Java superset)? At least all of mine are, as that is how I was originally taught to program it.
edit - Please don't downvote people for seeking information. There was nothing disingenuous or underhanded about my comment, you're either downvoting because you dislike people asking questions or don't like something personal about my experience, which harms this community directly and also make the site feel unnecessarily hostile. This isn't reddit.
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.
TIL that Processing actually predates Arduino. All these years I thought that it was the other way around and that Processing was a fork of Arduino. Thanks for the history lesson!