6 ms·
"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 cros
by anaisbetts 4y ago
"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
- izacus 4y agoYeah, 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.
- screamingclay 4y agomacos is posix compliant though
- izacus 4y agoSo 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.
- tpush 4y ago> So is Windows (certified even!), which is exactly my point. AFAIK, only the versions of Windows that included the POSIX subsystem were certified, the last one being NT 4.0. Long time ago.
- mort96 4y ago> POSIX fanbois 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".
- fluoridation 4y agoIt's not cross-platform if the only platform you support is POSIX.
- mort96 4y agoPOSIX is a standard, not a platform.
- chasil 4y agoThere was only one platform designed to be POSIX in all respects, the OSF/1 UNIX for the Alpha processor from Digital Equipment Corporation. It was first known as DEC OSF/1, then Digital UNIX, then Tru64. Previous to OSF/1, DEC had sold Ultrix, first on VAX, then on MIPS. https://en.wikipedia.org/wiki/Tru64_UNIX https://en.wikipedia.org/wiki/Tru64_UNIX The wiki says that OSF/1 was first released for MIPS, but that was before my time, and it wasn't supported for long. I did use Ultrix on MIPS DECStations in college. https://en.wikipedia.org/wiki/Ultrix https://en.wikipedia.org/wiki/Ultrix
- growse 4y agoPOSIX is not a platform.
- MaPi_ 4y agoCurl runs on at least 89 operating systems[0]. Apparently 88 of them are then better at "being Linux" than Windows. [0]https://daniel.haxx.se/blog/wp-content/uploads/2022/11/curl-Nov-202215.jpg https://daniel.haxx.se/blog/wp-content/uploads/2022/11/curl-...
- reisse 4y agoHow many from that 89 operating systems are either Linux-based (ChromeOS, Android) or real Unices (FreeBSD, OpenBSD, mac)? Edit: And there are at least 4 Windows flavours in the list!
- matja 4y ago4? Chrome OS, Android, Qubes OS, Linux
- marcosdumay 4y agoSome extremely different systems: Fuchsia, Cisco IOS, Garmin OS, QNX, RISC OS, Haiku, z/OS and the entire family, Blackberry 10. There are probably more there. I recognize about half of those names only. Are you really saying that it's normal to be harder to port some software into Windows than into z/OS?
- reisse 4y ago> 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.
- bogantech 4y agoFrom the image: "Operating systems known to have run curl" How many of them are supported in mainline Curl, aren't POSIX and aren't dead operating systems?
- bmitc 4y agoThis 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.
- nikanj 4y agoI'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.
- bmitc 4y agoI think it just depends on how seriously the underlying technology takes cross-platform support.
- P5fRxh5kUvp2th 4y agoIf it's written for linux it can be made to work well with BSD and Mac. Windows is just weird in that respect.
- bmitc 4y agoWhy is that surprising and or a fault of Windows? > 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.