Wie du an den Ausführbaren Code kommst ist dem Board egal. Das kann Bascis, C, C++ Compiler sein oder irgendein Assembler oder was ausm iNet gesaugtes. Meist im hex format.
Das hex lädst du dann auf Board mit nem Progger (ISP oder HV) oder spielst es mit Bootloader über seriell auf.
An C/C++-Compilern gibt es einen GCC-port für AVR, bzw die ganze Toolchain und libc. Für Windows als WINAVR als fertiges Paket, unter linux musst du selber builden/installieren. Dann gibt's noch nen Compiler von IAR.