Not necessarily, you still need backups or snapshots especially on home directory in case software have a nasty bug like deleting your data.
That one was an old documentation that some of the Chinese folks actually document a lot of quirks related to X11 protocol. I paid about $6000 for translator to work on translating that doc to English and I use it to build my own GUI Toolkit on Linux that I still use to this day.
I concur, there was a few problems that might come up on various platforms like Windows not implementing C11 standard threads and other stuff, you would instead use TinyCThread library that works like a polyfill.
All problems and challenges are workable, if the problem with Debian is out of date library, you could set up CI/CD for release build that rebuild your software when update occurs and static link the updated dependencies.
Back to your point, if they didn't design their code and architecture to be multiplatform like in C, they need to re-evaluate their design decisions.
I would spend it on language translation basically, paying someone to translate international documentations on things that aren't documented in USA no matter where you look.
It just rooted back to my frustration when I was trying to fill in missing implementation details on projects like Skia (at the time it lacked support for Vulkan.) My very fundamental core belief is that for core libraries like say, Skia, Neural Net Framework, and other crucial projects like that should offer a way in C API that allows every type and implementation to be extended upon by any other language that can interface with C API by providing your own VTable or whatnot.
One of the approach I do for my GUI Toolkit written in C (specifically on Linux to replace QT and GTK) was making a single inheritance object oriented programming in C.and if you insert the base class type structure at the top of your custom struct type and provide your own VTable for those objects, you can readily extend the underlying library natively in whatever programming language you use assuming it can talks to C API in a complete sense.
Let me know if you want a demonstration of this, I would be happy to find the time to set up a small sample to give you the idea on how it's done.
And I am also aware of the criticisms on those approach, verbosity of attempting to implement object oriented programming in C is kind of absurd and the API coverage would balloon. That is largely why I work on a Compiler-Generator Framework specifically to address the challenges by allowing me to add dialects on top of C Language such as generic, object oriented programming, and various dialects. I brought C closer to C# in term of syntax and features and at the end of compilation, it still produces readable C language code output and it also generates what I called an FFI-JSON. It's essentially a JSON file that describes all of the types used in a C project, the sizes of integers/floating points, structure types and it's fields/offsets/sizes comments, and function declarations. It's done in a way that you could read the JSON file and generate your programming language binding library saving you weeks of work.
I don't think so on the extensibility aspect alone, some of the Rust syntax/trait does not map well to other languages when other languages attempts to extend Rust library. I write C code in a way that it would be extensible from any languages.
Because code that they released to public are usually MIT licensed like Dotnet Core Runtime. They just have a long history of hating GPL licensed software.
Sure until you can't with flatpak. Flatpak does not safeguard against system binaries and there are always risks associated with that.
Honestly I think I am going to move on from Programming.dev, it's filled with script kiddie like you. Good lord.
Fuck y'all. Good evening.