Well there's one reason why Carbon might be a good thing, because without a purely C API it's an immense pain in the butt to call the system GUI APIs from non-Apple-blessed languages. Most of them are only available through Objective-C, so you either write hundreds of wrapper functions or call things like objc_msgSend
directly