"Windows is so bad at being Linux compared to Linux! Why is it so bad at being the same as Linux?"
Well, yeah. I sympathize with @bagder here trying to be cross-platform but Windows is just Different than POSIX, and if you try to write everything for Linux then "compatibility shim" your way to Windows support, you're gonna have a Bad Time
No longer maintained / barely changing, like MS-DOS, Mac OS 9, Amiga OS (which does occasionally get an update but usually not much in the way of core changes)
It's relevant because Windows is a moving target and the dead operating systems aren't so there's not a lot of support work needed for them nor will there be as much of a user base.
Many of them are better at being unix-y because they are Unixes or Unix clones.
Apart from Windows, which squares remain if one removes any Unix/linux derivative?
The real joke is that people defending Windows' oddity by saying it's a VMS clone, where curl authors apparently consider actual VMS an easier platform to support.
> Are you really saying that it's normal to be harder to port some software into Windows than into z/OS?
No, I'm saying that from 89 OSes mentioned on that picture, a lot of them are better at being *nix because they are *nix.
But answering your question, sure! The only good thing in POSIX is that you have easy access to a lot of *nix software. Other than that, POSIX is a spectacularly bad API.
Windows doesn't really care about running *nix software natively, because most of Windows userbase just want and use different things. Therefore, why invest into a bad API? For those wanting to use *nix software on Windows, there is Cygwin or WSL anyway.
This is really my main complaint about "Windows sucks" complaints. Nearly universally, something was written for Linux only to be hacked to work, if at all, on Windows while complaining about Windows as if it's supposed to be Linux. Then all the hacks and bugs of the same tool on macOS are ignored because it's a Unix-like, apparently.
Another comment here mentions NT being full of all sorts of quirks. Such sentiments ignore all sorts of quirks with Linux. For some reason, they're ignored or forgot about because people like digging into the internals of esoteric design choices of Unix tools and the Linux OS.
I find myself fairly OS agnostic having spent about equal times on macOS and Windows and a little less on Linux other than as a programming target. In my experience, Windows is the best these days to work on because I get both Linux and Windows on one machine and OS. macOS and Linux all by itself are too much of a compromise as a Linux and as a desktop OS, respectively, for me.
I am currently working on a cross-platform windowing tool with GLFW. Linux and macOS are by far the problem children because of strange limitations in Cocoa/macOS and because Linux has no "built-in" windowing solution.
I've seen the cosmic horror that results from taking a Windows-oriented software and then writing enough headers and glue to make it work on Linux without changes to the main codebase.
> If it's written for linux it can be made to work well with BSD and Mac.
Maybe that's true in a theoretical sense, but it has not been my practical experience with macOS. Too many times have I found I needed a plethora of workarounds on macOS only for the same thing to work flawlessly on Ubuntu.
It's still just a different flavor of ice cream, even if a really, really weird flavor. Linux is strawberry ice cream, BSD is chocolate ice cream, Unix is vanilla ice cream, macOS is avocado-and-mint sherbet. Most of these easy-to-port-to platforms are just plain or exotic flavors of ice cream. Windows is hamburger.
Yeah, I've spent a lot of my career supporting cross-platform software and pretty much all problematic cases were because POSIX fanboys wrote the software and then tried to shim themselves onto macOS and Windows while refusing to rethink their approach.
A lot of issues disappeared when better abstractions were found on top of POSIX.
That's a weird and derogatory way to talk about people who appreciate having a standard which makes it easier to write cross-platform software.
EDIT: To expand on this comment and make it more productive. You're right. If the goal is to have first-class support for both Windows and POSIX-like platforms, the right approach is to have an understanding of what your software needs to do, what the POSIX APIs make easy, and what the Windows APIs make easy, and build abstractions which make sense based on that. But man, do I appreciate that if first-class Windows support isn't top priority, I can support essentially every other widely used platform in the world (including macOS) by just writing against the POSIX API, and I can even get okay-ish Windows support by using a POSIX compatibility layer on Windows. So my point isn't, "People who want to have first-class Windows support but do so through POSIX compatibility shims are doing it right".
> That's a weird and derogatory way to talk about people who appreciate having a standard which makes it easier to write cross-platform software.
When I say "POSIX fanbois" I mean "fanboys" (people that are unreasonably attached to this standard and try to use it everywhere without being level-headed about its usefulness). That probably doesn't include the people who actually wrote the standard, which are all (in my experience) pretty reasonable and realistic about the limitations of things they've created.
> people that are unreasonably attached to this standard and try to use it everywhere without being level-headed about its usefulness
This is certainly a better way to put it!
But it's possible that they indeed mostly had the POSIX standard in mind when trying to create their software, possibly because that's what they were developing on (e.g. one of the *nix distros or something compatible) and that's what was available easily.
Support for Windows might have been a bit of an afterthought, or something that was added later. It's still better than nothing, even if not always viable.
So is Windows (certified even!), which is exactly my point. It's not a practical and useful abstraction.
If anything, it's even more problematic, because Windows is "wierd" and people go out of their way to create special approaches to handle it. For macOS, too many developers think it's "just posix, ya know, like Linux" and then walk into horrible compatibility edge cases.
Well, yeah. I sympathize with @bagder here trying to be cross-platform but Windows is just Different than POSIX, and if you try to write everything for Linux then "compatibility shim" your way to Windows support, you're gonna have a Bad Time