←back to thread

102 points mariuz | 1 comments | | HN request time: 0.2s | source
Show context
Asooka ◴[] No.42165920[source]
Meanwhile, pleasant debugging on Windows:

1. Open Visual Studio

But to be a bit less snarky, it's a real shame that projects in the Open-Source / GNU / Linux space can't build on past successes and keep rewriting things. Like, things are never well integrated and they can't settle to be well integrated because foundational technologies keep changing. As a simple example, if I had a Win32 binary that shows a dialogue window it would run and look native on every version of Windows, but if I had a Linux binary linked with GTK1 that shows a dialogue window, it may not even be possible to run and if it did, it would look incredibly ugly and out of place on a current distro. It's a problem that I really think is holding the whole ecosystem back - end-user programs are forced to constantly spend time to keep up with the churn of lower level components. Why doesn't e.g. GTK4 provide bindings for all previous major versions? Or OpenSSL? Or... etc. It's probably no coincidence that the most well-developed and powerful software for the platform is running in the terminal, based on tech that has remained fully backwards compatible for the last 40 years.

In that vein, I have always found it hilarious that the GNU C compiler has options for producing binaries targeting older versions of Apple's macOS, but has no such option for targeting older versions of GNU/Linux distros (at least let me pick the target GNU libc version!)

/rant

replies(1): >>42171770 #
1. Joker_vD ◴[] No.42171770[source]
> (at least let me pick the target GNU libc version!)

I've just resigned myself to build and run things in ubuntu:16.04/18.04/20.04/etc. containers. Surprisingly, modern Linux kernels support ancient Linux userspaces just fine. It's the Linux userspace that's incompatible with itself in both directions.