Does the Aurdino accept C or C++?

I have a nano 3.0 on the way and was looking at the language reference. It seems to be written a bit for non-programmers and is confusing me. At one point is sounds like it is a scripting language based on C syntax. I assume it is cross-compiled C then flashed on to the device?

Secondly, Can I write the main program in C++ like the Libraries, understanding that it looks like there is no heap, no "new" and everything is on the stack.

The Arduino platform is oriented towards non—programmers but you can use write code using C++. It uses the AVR-GCC compiler and you can find technical documentation here: http://www.avrfreaks.net/wiki/index.php/Documentation:AVR_GCC