5 ms·
This is why i f**ing hate macOS. Developers wax poetic about 'oh its a UNIX', but NOTHING works like Linux once you dig into it. Zsh is different from bash, sub
by torginus 2y ago
This is why i f**ing hate macOS. Developers wax poetic about 'oh its a UNIX', but NOTHING works like Linux once you dig into it. Zsh is different from bash, subtle API differences, different filesystem, esp with stuff like /dev or /proc or /etc, no systemd, some cli utils have different flags, subtle differences like this.
At least Windows is completely different and there's no expectation of compatibility, but with the mac you can start off thinking things would work, but they don't.
- tikkabhuna 2y agoIts been a decade since I had a Mac, but it definitely gave me that uncanny valley feeling. So close that you start expecting certain behaviour. Windows and WSL feels better to me at least.
- freedomben 2y agoIndeed, I've been Linux-only for a bit over 10 years now, and when I have to do some work on a Windows or Mac for work, Windows with WSL feels a lot better than modern macos. You'll encounter the occasional alien thing when Windows details leak through, but for the most part it just behaves like you expect. If I had to pick a mac or windows pc for daily driver, Windows would be an easy choice now (although as coming of age in the 90s when MS was evil, it's mind-blowing to hear me say this all!)
- swagnikdutta 2y agoI'm genuinely interested in understanding this "uncanny valley feeling" you've experienced. Could you elaborate a bit on it?
- simonh 2y agoHaving cut my teeth on Solaris (both flavours), AIX, HPUX and later Linux in the 90s, get off my lawn! ;)
- OskarS 2y agoLinux != UNIX
- notepad0x90 2y ago> "no systemd" I'd call that an excellent feature and more true to Linux than Linux is to itself today. Even Linux is not a true UNIX,it is UNIX-like. You can't expect macOS to be like Linux, it should be quite the other way around.
- donaldihunter 2y agoHah, Linux deviates probably as much from UNIX as macOS does.
- scoodah 2y agoSome of the things you point out here are things you cannot rely on in Linux consistently, either. You can’t rely on Systemd existing in Linux. You can’t rely on bash being the shell in Linux. Depending on the users system and distribution these tools may or may not exist. Also the difference in some of the tools CLI flags wind up boiling down to being the BSD versions of them as opposed to the GNU versions of them. Which, again, isn’t a problem isolated to MacOS. If you’re considering all Unixes everything you said basically still applies even if you remove MacOS from the equation. Unix isn’t just Linux.
- PaulDavisThe1st 2y agoEDIT: I'm stupid and a bad reader.
- scoodah 2y agoWhat are you talking about? I'm responding directly to a comment that called those two things out. My point was that systemd and bash are _not_ part of a linux system, and you can't count on them being there.
- PaulDavisThe1st 2y agoYou're right, and I was not reading carefully (the grayed out GGP didn't help)
- mannyv 2y agoHaving used hp-ux, sunos, solaris, aix, plan 9, various flavors of linux and a bunch of embedded OSs, VMS, and various Windoze systems I formally welcome you to the Real World. The Real World - it's got more stuff than you can imagine.
- torginus 2y agoThis is false plurality - while some bank or legacy datacenter might have these OSes in production, 99% of the time, you'll only encounter Linux in a professional server environment (or the Real World as you call it).
- kelnos 2y agoHow does that matter, though? You're complaining that macOS is different from Linux. That's the salient point. And, duh: they're different OSes. macOS is just as different from Linux as any other OS out there is. And macOS is closer to Linux than some (like Windows). You initially said, seemingly implying this was a "false cool thing": > Developers wax poetic about 'oh its a UNIX' I don't think they meant what you think they meant by that. When people said that (back in the early '00s), people were familiar with Linux, yes, but they also interacted with several other commercial UNIXes that were still in wide use at the time (like those mentioned by the GP), as well as the BSDs. Being able to treat macOS like a UNIX (or, more specifically, like a BSD) was a big step up in convenience from Mac OS Classic. No one expected macOS to be like Linux, at least not in the ways you are talking about.
- severino 2y agoYou would probably feel the same if, today, you were to use Solaris. And you won't say it's not UNIX, right?
- icehawk 2y agoHow many non-Linux UNIX operating systems have you used? It's Linux that's the weird one.
- kelnos 2y agoThat's a weird objection. Linux isn't UNIX, technically. All of the current and former UNIXes had various incompatibilities. /proc was never standardized. /dev has some standard names, but not many. Not sure what you mean about /etc, that's up to whatever's installed in userland. systemd is more or less Linux only; it's weird to blame other OSes for not having it. (The funny thing is that systemd has functionality in part inspired by macOS's launchd.) The ext* family of filesystems (and certainly stuff like btrfs) is a Linux thing; other UNIXes used different file systems. CLI utils are an interesting thing: the BSDs have always(?) had their own, and don't use GNU coreutils (which is what Linux uses). There wasn't really much coordination over the decades, so they went in different directions. Most (all?) of them should be POSIX-compliant (possibly after setting an env var, at least in GNUs case), so if you restrict yourself to functionality specified in POSIX, you should be fine. I don't really like macOS, but your specific criticism of it doesn't really hold water. If you're going to hate on macOS for this stuff, then you also have to hate on all the BSDs, which seems a little silly and unwarranted. > with the mac you can start off thinking things would work, but they don't. If you're expecting things to work on macOS just like on Linux, then your expectations were way off in the first place. If you want cross-platform compat in these areas, you'll have to stick with POSIX. Which sucks, especially since no one really implements POSIX correctly, but that's just how it is, and has always been.