eBPF modules themselves have to be written in C, and compiled to bytecode before they are loadable. The target architecture for llc is bpfeb and bpfel (big/little endian).
Usage/loading of eBPF modules, however, can be done in many userspace languages due to them offering the bindings for it.
I wonder why all their examples[0] uses C, while bpfman themselves[1] seems to use aya[2] and rust.
[0] https://github.com/bpfman/bpfman/tree/main/examples
[1] https://github.com/bpfman/bpfman/blob/main/bpfman-ns/src/mai...
[2] https://github.com/aya-rs/aya