AJ wrote:I am a little concerned about how much c++ hides from the programmer though
I haven't done any kernel-level C++ thing so far (well, i'm far from being a wizard at C++, at first), but there are a couple of things i've gathered from my C++-on-nintendoDS that would make me think twice before starting to port Clicker to C++
1. C++ initialization/finalization of your program can quickly become very complex. Probably a good BareBones++ would help, but simply having your global constructors called (and being sure they're called at the proper place in kernel initialization) isn't trivial.
2. C++ objects and classes (and classes' vtable) remain quite opaque and are less debugging-friendly (unless you make sense of dwarf annotations, maybe)
3. objdump -drS nicely interleaves C code and machine code, even at high optimisation levels. Doing the same on a C++-generated .o will leave you clueless at best on what machine code corresponds to what source lines.
Now, it's all a matter of preferences, personal expertise and all the like, anyway.