people always say that C++ is not a good fit for kernels, but so far this is the only language I know where small teams or individuals are regularly able to create non-trivial hobby OSes from scratch that go from zero to GUI: - Serenity ( https://github.com/SerenityOS/serenity ) - not really a small team, but it managed to get to GUI as pretty much a one-man-show - Skift ( https://github.com/skift-org/skift ) - hhu:…
The two counter-examples I can think of with plain C:
* GTK+, though honestly speaking I think quality has dipped over the decades where C++ equivalents have flourished.
* Old school Win32 style. Counter to the bad reputation, I find it easy to be productive with in plain C once you adjust your mental model to its expectations. Though it's probably better from C++ than C, for a few convenience features to reduce boiler plate.