Programming options other than C++ 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?
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!