I think a better title would be:
How Desktop GNU+Linux sucks for desktop developers: Zoom edition
Windows will happily run GUI apps written 20 years ago. GDI is still supported. MFC Apps still run. Likely VB6 apps still run.
Desktop GNU+Linux switches graphics engines, breaks backwards compatibility, ships something with performance and driver issues, and complains that user software doesn't work.
Frankly this post turns me off towards even thinking about developing any type of native Linux app and if I need one, just use the browser or Electron.
A Quake 3 binary compiled in 1999 still runs on Linux today. How much backward compatibility do you need?
> Windows will happily run GUI apps written 20 years ago.
Your best bet at running 16 bit Windows applications on a modern OS is running them via Wine. The same is true for some older 32 bit software.
I wanted to relive some memories replaying my copy of GTA (the first one) on Windows 10 the other day, gave up after about half an hour after multiple step-by-step guides for getting it to run failed, and just installed it on my work laptop that's running a flavor of Linux with Wine. The latter required one extra step - installing some library by ticking a checkbox in winetricks.
For all of Windows' touted backwards compatibility I wasn't exactly impressed. It seems to be little more than a meme at this point. What Windows does better (than other OS) is play modern games, which is why I keep it around on my desktop computer. I'm not sure it deserves credit for that though.
I don't even know what you mean by switching "switches graphics engines". The X to Wayland migration? The former has been backwards compatible for more than three decades and the latter can host the former to remain backwards compatible.
Wishy-washy terminology aside, are you absolutely confident your opinion is formed from an informed position?
There's valid criticisms to be made of desktop Linux, but I don't think those are it.
Fun fact, you can use a WineVDM-based 16bit emulator on Windows[0] that translates 16bit calls to 32/64bit calls and install it system-wide thus allowing the use of 16bit programs in 64bit Windows. Here are two examples from screenshots i have around: Microlathe[1], a small utility to build 3D models by rotating a line around an axis (i also made my own clone[3] of it) and [2]a free Smalltalk environment (Smalltalk Express - which i actually consider one of the simplest Smalltalk environments since it only contains a small subset of what you'd find in a modern one thus making it easier to grok).
[0] https://github.com/otya128/winevdm
[1] https://i.imgur.com/e26mqWP.png