user33: Can I program my Arduino using any programming language other than C++? If so, which programming languages? What software would I need for compiling and loading my code onto the Arduino?

user201: Because avr-g++ should support all standard C / C++ constructs it is possible to code inline assembly. More info on this arduino.cc forum thread

user236: 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.

user15994: I'm surprised that nobody has mentioned AVR Assembly!
Assembly is not often thought to be the most interesting, or even an easy method of programming, but it's nonetheless, 100% possible with all AVR based arduino. SAM boards will likely not work with this flavor, but it's still possible to use assembly in their programming.
All Arduino boards (as of posting) support assembly programming via Atmel Studio, The SDK made for Atmel based chips.
Assembly is naitively supported by all Atmel devices, and requires no boot loader in order to work, so all programs are inherently real-time.

user77: 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.

user13: 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! 

33: <p>Can I program my Arduino using any programming language other than C++? If so, which programming languages? What software would I need for compiling and loading my code onto the Arduino?</p>
 201: <p>Because avr-g++ should support all standard C / C++ constructs it is possible to code inline assembly. More info on <a href="http://forum.arduino.cc/index.php/topic,40916.0.html" rel="nofollow">this</a> arduino.cc forum thread</p>
 236: <p>There are also some people working on <strong>Javascript</strong> node.js based systems. One that is already publicly available is <a href="https://github.com/espruino/Espruino" rel="nofollow">Espruino</a> and another is <a href="https://github.com/technicalmachine" rel="nofollow">Tessel</a> which launches in spring 2014.</p>
 15994: <p>I'm surprised that nobody has mentioned <a href="https://www.microchip.com/webdoc/avrassembler/avrassembler.wb_instruction_list.html" rel="nofollow noreferrer">AVR Assembly</a>!</p>

<p>Assembly is not often thought to be the most interesting, or even an easy method of programming, but it's nonetheless, 100% possible with all AVR based arduino. SAM boards will likely not work with this flavor, but it's still possible to use assembly in their programming.</p>

<p>All Arduino boards (as of posting) support assembly programming via <a href="https://www.microchip.com/mplab/avr-support/atmel-studio-7" rel="nofollow noreferrer">Atmel Studio</a>, The SDK made for Atmel based chips.</p>

<p>Assembly is naitively supported by all Atmel devices, and requires no boot loader in order to work, so all programs are inherently real-time.</p>
 77: <p>Some commonly known ones:</p>

<ul>
<li><a href="http://sourceforge.net/apps/mediawiki/avr-ada/index.php?title=AVR-Ada" rel="noreferrer">Ada</a></li>
<li><a href="http://www.mcselec.com/" rel="noreferrer">Basic</a></li>
<li><a href="http://claymore.engineer.gvsu.edu/~steriana/Python/pfavr/rationale.html" rel="noreferrer">Forth</a>, <a href="http://www.forth.com/embedded/index.html" rel="noreferrer">alt</a>, <a href="http://www.forth.com/embedded/index.html" rel="noreferrer">alt</a></li>
<li><a href="http://www.harbaum.org/till/nanovm/index.shtml" rel="noreferrer">Java</a></li>
<li><a href="http://www.e-lab.de/AVRco/index_en.html" rel="noreferrer">Pascal</a></li>
<li><a href="http://wiki.python.org/moin/PyMite" rel="noreferrer">Python</a></li>
<li><a href="http://www.ladyada.net/learn/avr/setup-mac.html" rel="noreferrer">C</a> (mac) and <a href="http://winavr.sourceforge.net/" rel="noreferrer">C</a> (Windows)</li>
</ul>

<p>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 <code>malloc</code> and <code>free</code> are extremely expensive in both memory space and cycles.</p>

<p>Besides using Google, the following references are applicable <a href="http://www.piclist.com/techref/atmel/avr/languages.htm" rel="noreferrer">Click Here.</a></p>
 13: <p>In theory, any compiler which outputs AVR assembly could be used (modulo limitations on code size, ram usage etc). </p>

<p>AVR backends exist for both <a href="http://sourceforge.net/projects/avr-llvm/">LLVM</a> and  <a href="http://gcc.gnu.org/wiki/avr-gcc">GCC</a> -- 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. </p>

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

<ul>
<li><a href="http://amforth.sourceforge.net/TG/recipes/Arduino-HelloWorld.html">AMForth</a>, a forth dialect can be flashed onto an Arduino. </li>
<li><a href="http://sourceforge.net/projects/avr-ada/">AVR-Ada</a>: <a href="http://en.wikipedia.org/wiki/Ada_%28programming_language%29">Ada</a> for AVR micro-controllers. </li>
<li><a href="http://www.mikroe.com/mikrobasic/avr/">BASIC</a>: Bring back the Goto!</li>
</ul>

<p>Oh, and you could write raw <a href="http://www.atmel.ca/Images/doc0856.pdf">AVR Assembly</a>! </p>

<p>[1]- I Haven't tried these though! </p>
