c++, c не имеет смысла имхо. Не знаю как в других компиляторах, но в Atmel Studio последней на C++ размер прошивки итоговый меньше получается, чем на C (тестил с макс уровнем сжатия в опциях компилятора). Ну а ассемблер - вариант для гиков...
А кроме Си и ассемблера вариантов то больше нет.
В большинстве случаев придется использовать Си / Си++. Ассемблер знать нужно, даже если не писать на нем весь код. Он необходим для отладки и оптимизации.