IOKit was almost done in Java; C++ was the engineering plan to stop that from happening.
Remember: there was a short window of time where everyone thought Java was the future and Java support was featured heavily in some of the early OS X announcements.
Also DriverKit's Objective-C model was not the same as userspace. As I recall the compiler resolved all message sends at compile time. It was much less dynamic.
Mostly because they thought Objective-C wasn't going to land well with the Object Pascal / C++ communities, given those were the languages on Mac OS previously.
To note that Android Things did indeed use Java for writing drivers, and on Android since Project Treble, and the new userspace driver model since Android 8, that drivers are a mix of C++, Rust and some Java, all talking via Android IPC with the kernel.
True, but it's so incredibly fragile. 90% of the time copilot returns sensible things, eg when prompted to list all the f2f meetingsI had last month. 10% of the time it fails to find things, makes things up, etc.
Problem: if I cant rely on it for administrative tasks like this, I end up having to do more work to verify what it says. which makes the tool pretty useless.
I had an Xperia for a while but kept my iPhone and then installed the iOS 26 beta on it. Expectation was that it would run but be pretty painful. Surprisingly, even the beta ran so fine that I sold the Xperia and switched back to iOS. And it's still my daily driver.
https://news.ycombinator.com/item?id=10006411
"At some stage in the future we may be able to move IOKit over to a good programming language"
reply