• infinitesunrise@slrpnk.net
    link
    fedilink
    English
    arrow-up
    4
    arrow-down
    1
    ·
    edit-2
    16 hours 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.

    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.

    • Captain Aggravated@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      3
      ·
      16 hours 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.

      • infinitesunrise@slrpnk.net
        link
        fedilink
        English
        arrow-up
        1
        ·
        16 hours ago

        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!