The modules are all based on the Atmel AVR32 platform (this is different from the 8-bit AVR that Arduinos use), this isn’t supported by LLVM, as far as I know the only compiler is GCC 4.4, that limits you to C and C++ (no STL for C++ either). The AVR32 platform isn’t really going anywhere in general, ARM has basically won the embedded CPU battle.
@hems, in general most embedded platforms need to use a low-level programming languages to manage memory as you don’t usually have very much, high-level languages nearly always use a garbage collector, for which you need a lot of RAM and then you still have to put up with GC pauses.
IMO, C++ tends to be a bit easier to use as you don’t have to deal with pointers quite so much, you just need to stick to a particular style of C++ to stop yourself getting in trouble (e.g. RAII), this is basically the approach that Arduinos take.
Otherwise if you’re trying to do stuff with WW in C, as @tehn says, it should be fairly easy, the hardest bit is not what language to use, but writing all the low level hardware access, and that’s already done for you. I’d also add, don’t malloc, statically allocate your arrays to a fixed size, and wrap all your pointer access with functions, the compiler will optimise them away for you if they’re all in a single file (and there are tricks to do the same if they’re in different files).