Thanks! The project was mostly C for the bootloader and C++ for the drivers.
As for which part was the most challenging... probably understanding the IOKit driver model. I really would have benefitted from having an expert explain some of the concepts to me, and give me some advice about how to structure my own drivers.