gcc is a compiler, not a language; avr-gcc is (IIRC) the compiler instance of gcc that is called by the Arduino IDE to compile the code (AVR C) into the binary that is uploaded to the Arduino board (via avrdude).
So, in effect, you already know the programming language, which is AVR C.
If you want a challenge, though, I would expect AVR assembler to be one (from my experience with 80x86 assembler - though that has its own quirks, especially with memory handling in 16 bit mode). But if you are just wanting to get something done and not learn an entirely new language, stick with what you know (AVR C).
![]()