Not at all. IO Kit was raw, pure C++, with all the ABI consequences you must deal with (including fragile base class). Just go to see any header of any exported IOKit class to see what I am talking about.
There is no COM whatsoever, no IPC, no IDL, nothing, dunno where do you get that from.
I just find it funny to claim that C++ was even partially to blame for Be's demise, when Mac OS X since its first public release actually embraced C++ for a much more delicate component.
> I just find it funny to claim that C++ was even partially to blame for Be's demise, when Mac OS X since its first public release actually embraced C++ for a much more delicate component.
I think that those that use such argument tend to be on anti-C++ crowd, they forget that NeXTSTEP even had Objective-C++ as well.
This is still completely different to COM in both goals and implementation. If this resembles COM to you, then almost anything resembles COM.
This is just the part how they deal with forward ABI problems, and is exactly the same that Be was doing too, as I mentioned in an above comment: private impl pointers and "preemptive" empty virtual functions (Be calls it "stuffing", OS X calls it "padding").
Is that the reason? In the past, a kernel webserver called tux (IIRC) was removed because it was just rediculous and the performance gap was considered a solved problem, not worth keeping an in-kernel server around.
Or a Rosetta-based emulator (like Parallels). But 86Box is going to be very bad there.
While they claim "accuracy" as one of the goals for 86Box, I believe accuracy is overrated in PC emus (you don't really need that much accuracy due to the variety of PC clones, and emus are not that accurate anyway). For me the biggest point for using 86Box over other PC emulators/virtualizers is the large selection of virtual hardware available to emulate, not performance.
86Box is just accurate enough to run the original unmodified firmware. It does not emulate cache and RAM behavior, so you won't get performance-related accuracy. You are likely to succeed in Spectre-like attacks against an emulated 386, which shouldn't be possible on a real thing.
If you don't care and just want to go faster on a modern x86 CPU, you can replace the CPU emulation part of 86Box with a hypervisor. I tried running a Socket 7 motherboard firmware on Linux's KVM - given the chipset emulation is correct, it works: it amusingly identifies an AMD Zen5 running at 3GHz as "Unknown-S CPU at M60MHz" and boots to a DOS prompt.
Kind of proving why accuracy is not really that important for the PC world. Most era firmware would have tried to run on as much variety of machines possible.
When actually it should be software companies that should be worried. If you believe like some guys do that you can just point an LLM to any piece of software in the world and ask it to patch it / replicate it / maintain it with zero copyright repercussions, what is the point of software companies again?
Which is why compared to the times before the camera was invented, earning the living as a painter is vastly reduced to a few that manage to make it.
Likewise since digital photography became common, most photography shops closed, those that are around usually barely survive with services like photos for government official documents.
Events photography is also a niche nowadays, as the organisers then sample the photos done by guests on their mobile phones. Very few professional photographers still get such gigs.
While I don't want to discuss the quality of any distro vs Windows, there is a big reason most of us use free software: because it is free.
Whether for you it is because of free as in freedom or free as in beer specifically, quality may not have much to do with it.
In EU at least you can almost get free as in beer Windows, you can buy a fully legal 2nd hand (resold) Windows license for about $10, the price of a fancy beer.
reply