Programming options other than C++

In theory, any compiler which outputs AVR assembly could be used (modulo limitations on code size, ram usage etc).

AVR backends exist for both LLVM and GCC -- so in theory, with some effort, most languages which are supported by LLVM and GCC's front-ends could be compiled to AVR. A big question will be library support, etc.

Never the less, here's a couple of odd choices for the spirit of the question, rather than its letter [1].

  • AMForth, a forth dialect can be flashed onto an Arduino.
  • AVR-Ada: Ada for AVR micro-controllers.
  • BASIC: Bring back the Goto!

Oh, and you could write raw AVR Assembly!

[1]- I Haven't tried these though!


Some commonly known ones:

  • Ada
  • Basic
  • Forth, alt, alt
  • Java
  • Pascal
  • Python
  • C (mac) and C (Windows)

In theory you should be able to extend avr-gcc to support other languages, though this is no small undertaking. I should also caveat that support for languages other than C typically comes with some fairly weighty restrictions on language components -- for instance, even with C++ it's discouraged to be instantiating new objects as malloc and free are extremely expensive in both memory space and cycles.

Besides using Google, the following references are applicable Click Here.


There are also some people working on Javascript node.js based systems. One that is already publicly available is Espruino and another is Tessel which launches in spring 2014.