Firstly, C ++ works great, although Objective-C is not so difficult to learn. If you have experience working with Windows drivers, you know that some of the main functions - memory management is critical, time is critical, etc.
You will probably use IOKit. I suggest starting here for a good, step-by-step introduction to get the driver to work.
Kernel extensions
There are a few things that don't seem to work the way they say, and I'm trying to figure out if it is really impossible to debug the driver on the same machine, but this is better than most Apple Documentation.
Tomjeffries
source share