Earlier quoted context omitted.
That reasoning fails flat given the same studios have no issues supporting iOS, PlayStation, Swift and XBox, which are completely alien to what is used on Android NDK, APIs that are GNU/Linux compatible for 3D rendering, audio and asset loading. Valve basically failed to provide the business value for those studios.
> given the same studios have no issues supporting iOS, PlayStation, Swift and XBox PlayStation and Xbox don't go and cause you constant churn, at least not in the same console generation, and maintenance churn on iOS is only bearable for app developers because there are so many people using it that you can afford to pay the extra effort.
Windows API is Successful Cross-Platform API (2024)
111–120 of 147 posts
Re: Windows API is Successful Cross-Platform API (2024)
#112(2024) Interesting provocative article, I bet it will be praised on some Microsoft sponsored conference. Wine and Proton are not tributes to Win32's portability. They are symptoms of a desktop market that Microsoft locked hard enough that the rest of us had to reverse engineer our way out. Market damage, not collaboration. The ecosystem was not won on technical merit. OEM per-processor licensing, embrace-extend-extin…
Re: Windows API is Successful Cross-Platform API (2024)
#113(2024) Interesting provocative article, I bet it will be praised on some Microsoft sponsored conference. Wine and Proton are not tributes to Win32's portability. They are symptoms of a desktop market that Microsoft locked hard enough that the rest of us had to reverse engineer our way out. Market damage, not collaboration. The ecosystem was not won on technical merit. OEM per-processor licensing, embrace-extend-extin…
"Win32 is the only stable Linux desktop API" has been a common observation in the Linux community for years. I'm not sure why you're acting like it's a Microsoft-sponsored smear
Microsoft may have indeed won first place via dirty anticompetitive tricks, but Linux/*nix would need a similarly stable API first in order to have won at all. And obviously plenty of companies and initiatives have tried (from Red Hat to Valve), and yet progress has still been glacial
Also nobody's saying it's a particularly good API, but it is stable. As "Worse is better" famously observed, the technical elegance of a standard has barely any effect on its adoption, versus more boring social and commercial factors
Re: Windows API is Successful Cross-Platform API (2024)
#114Earlier quoted context omitted.
I am not sure if this holds, I have witnessed apps that dont work in newer versions of Windows.
They exist but they’re in the minority. Compare this with the Linux world, where userspace compatibility between one major distro release and the next, 12 months apart is very much a roll of the dice.
Re: Windows API is Successful Cross-Platform API (2024)
#115Earlier quoted context omitted.
they don't run without a runtime, and that runtime is backed by glibc, they just moved the issue one more layer. Virtually all software for the desktop is compiled once and then shipped to users and they never see the source. This works for Windows and macOS because their ABI allows it. For Linux you have to target each and every distro like a whole OS and keep up with it or your app won't run anymore after a few yea…
I kinda see this as a usability issue. If the app developer is willing to wrap the whole “download source and then compile” with a one click installation shield type software, most users would be fine. But yeah then they need to track distros and such. I hope there are a couple of distros that have better back compatibility eventually.
Re: Windows API is Successful Cross-Platform API (2024)
#116Earlier quoted context omitted.
I kinda see this as a usability issue. If the app developer is willing to wrap the whole “download source and then compile” with a one click installation shield type software, most users would be fine. But yeah then they need to track distros and such. I hope there are a couple of distros that have better back compatibility eventually.
And how would they distribute that compiler-installer as a portable binary?
Maybe just focus on one or two distros maybe? Something focused on desktop experience.
Re: Windows API is Successful Cross-Platform API (2024)
#117(2024) Interesting provocative article, I bet it will be praised on some Microsoft sponsored conference. Wine and Proton are not tributes to Win32's portability. They are symptoms of a desktop market that Microsoft locked hard enough that the rest of us had to reverse engineer our way out. Market damage, not collaboration. The ecosystem was not won on technical merit. OEM per-processor licensing, embrace-extend-extin…
Speaking of portability, As a developer who has shipped software on Windows for over a decade, and then some on Linux. Targeting Windows is insanely easy, because of the ABI. You compile once and you have an extremely high chance that it just works on every Windows version. Not perfect, but better than any other platform ever made. Heck I've used software from CDROMS where the binary was compiled 20 years ago and it…
Re: Windows API is Successful Cross-Platform API (2024)
#118Earlier quoted context omitted.
Microsoft releases new APIs too, but no one uses them, especially not games.
XDK, GDK and Agility SDK are also part of API updates.
Dependency hell comes for everyone, win32 may be stable but the broader ecosystem for Windows is little better than anything else. I say little because at least MS does still commit to a lot of backwards compatibility and ensuring some very old DLLs are still part of new Windows 11 installs.
As another comment notes some older Humble Bundle linux builds just don't work anymore on modern systems; some of those are just because they assumed a particular libjpg or libxml or whatever would be part of the base distro install and be around indefinitely. Bad assumption. But fixable the same way as missing DLLs from Windows builds.
Re: Windows API is Successful Cross-Platform API (2024)
#119Earlier quoted context omitted.
Speaking of portability, As a developer who has shipped software on Windows for over a decade, and then some on Linux. Targeting Windows is insanely easy, because of the ABI. You compile once and you have an extremely high chance that it just works on every Windows version. Not perfect, but better than any other platform ever made. Heck I've used software from CDROMS where the binary was compiled 20 years ago and it…
I'm eternally confused by what an ABI actually is. Especially now that people say the win 32 api is the stable Linux ABI. Genuine question, what is the difference as they both seem to be conflated.
For example in a typical C library, as long as you don't rename or remove any existing functions/exports (or change their signatures), you can continue to add new ones over time without breaking forwards compatibility (old binaries can link/call into the newer library and still work). This is also important for security reasons and not just application compatibility.
Usually projects will only make ABI-stable changes within minor versions, and leave the breaking changes to major versions where upgrading or recompiling the original application becomes necessary.
For C++ this is more complicated because it's all compiler-dependent (no language-defined ABI), and with classes you typically can't re-arrange anything (like class members) without breaking compatibility.
Re: Windows API is Successful Cross-Platform API (2024)
#120Earlier quoted context omitted.
I kinda see this as a usability issue. If the app developer is willing to wrap the whole “download source and then compile” with a one click installation shield type software, most users would be fine. But yeah then they need to track distros and such. I hope there are a couple of distros that have better back compatibility eventually.
And how would they distribute that compiler-installer as a portable binary?