• infinitesunrise@slrpnk.net
    link
    fedilink
    English
    arrow-up
    0
    ·
    6 days ago

    the Arduino IDE in C++

    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.

    • Captain Aggravated@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      0
      ·
      6 days ago

      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.