Arduino Playground is read-only starting December 31st, 2018. For more info please look at this Forum Post

Interpreted Languages

Question: Can I run an interpreted language (or one with a big dev footprint) on the Arduino? I can't write C or C++.

Answer:

Running interpreted languages directly on the Arduino

Yes, there are a few implementations of interpreted languages for the Arduino, including several ports of Forth on Arduino, a port of TinyBASIC, PyMite a subset of Python, and a purpose-built language called "Bitlash".

Running interpreted languages on some other computer that talks to the Arduino

However, most modern, dynamic scripting languages are too complex to fit in the Arduino's very limited RAM and program memory.

Languages that fall into this category:
java (Interfacing.JavaProxy)
php
perl
batch
shell
ruby
javascript
tcl
python (interfacing.python, Code.2B, Code.SymbianS60Python), PyMite

You can use these languages to communicate with the Arduino, but in general, code in these languages will not run on the board.

(Most of these languages *can* run on the Hardware.Yun).

Note: there are some marginal ways to turn interpreted languages into bytecode which may run on the Arduino if you have the correct set of compilers, linkers and libraries. But this is usually a non-trivial task with limited utility.

Often people use the "ROS" or "Firmata" protocol on the wire between the PC and the Arduino. Some people make up their own custom protocol on the wire between the PC and the Arduino.