@globalc Fast, but error-prone C++... Could be a little less error prone if we moved to C++20 more aggressively. Rust is still used sparingly, mostly due to infra issues that make it hard to build Rust code.
@globalc The main Linux desktops being written mostly in C is perhaps the biggest architectural mistakes we made. Microsoft moved aggressively to C++ since the 80's (ok, perhaps a bit too early), and macOS was Objective C long ago, now Objective C++ and Swift.
@globalc C is too low-level for large GUI apps, which is why Firefox, Chrome and OpenOffice are all written in C++.
Gnome's reluctance to fully embrace C++ resulted in a messy stack of glib / gtk / gobject. There are wrappers (gtkmm, PyGTK, Vala and even JavaScript), but there's a scaey amount of plain C at the foundation level.
@globalc Perhaps the Gnome devs will jump directly from C to Rust... Hopefully abandoning Vala and JavaScript, which I see as half-baked attempts to complement C with something more agile, but even less type-safe.
@globalc To be fair, KDE has its own array of problems, with Qt being an ancient C++ codebase filled with anti-patterns: deep hierarchies, virtual hooks, custom containers, string-based signals, awkward ownership model...
Modern #KDE moved to QML heavily for applets and settings panels, which is essentially JavaScript, CSS and a text-based templating language which isn't HTML for some reason.
I'm sure QML is nicer than old-school Qt C++, but less robust than modern C++ and Rust.