Live data from Hacker News

Some Differences Between macOS and Common Unix Systems

dyx.name

11–20 of 82 posts

Re: Some Differences Between macOS and Common Unix Systems

#11
Not quite on this topic, but I have always felt Linux security seems lagging behind macOS.

Linux seems lacking on sufficient sandboxing. I am also increasingly uncomfortable with so many repositories, FOOS on GitHub and users sudoing left and right.

I am not sure if I am correct though.

Re: Some Differences Between macOS and Common Unix Systems

#12
post #8

Earlier quoted context omitted.

Particularly as the reference UNIX seems to be a Linux with systemd, which isn’t UNIX.

De facto or de jure? Linux isn't technically one, sure, but given that Linux is where the OS hot-shit is now (e.g. eBPF, although I think FreeBSD has the basics - no idea whether it got merged but I saw a student project) is it not fair to say it's where Unix would've been had things been different?

Both, I would say, particularly with the GNU’s Not UNIX userland. I don’t think it matters much, though, as you can have a great non-UNIX OS, which Linux definitely is.

Also, we might forget it now, but in the past there were a lot of UNIX that were quite different in small and large ways. The differences between Linux and Darwin might be as great as the differences between SunOS and Xenix, or indeed NeXTSTEP, back in the day. Or maybe not, that was before my time, but my point is that UNIX was not a monolith and there were incompatibilities and different ways of doing things. So I guess yeah, Linux might be what one of these might have become.

I just find it ironic that so many people are keen to compare macOS to UNIX and just assume that macOS has to be the weird outsider, even though the reverse is actually true. The same people also often assume Linux-isms are the way UNIX works, like the now-dead comment about macOS’ commands not supporting GNU options.

Re: Some Differences Between macOS and Common Unix Systems

#13

> Some Differences between macOS and Common Unix Systems ...by which is meant, "Some differences between macOS, a certified Unix™, and systemd/Linux". Which is fine and valuable! But macOS is the most common Unix™, so the title as written is... entertaining.

It’s a no-brainer Mac OS has more Unix heritage than Linux, but I don’t think using certification by the company that happens to own the name is the way to show that.

I would think the BSDs have at least as much Unix heritage as macOS, but they aren’t certified (“Certified Unix” is a rare breed. https://www.opengroup.org/openbrand/register/ lists only 13 products)

(Nitpick: it isn’t Unix™, it’s UNIX®)

Re: Some Differences Between macOS and Common Unix Systems

#14
I keep hearing that `sudo` insecurity argument everywhere. I think that argument is fundamentally wrong.

In practice, a package manager that eschews `sudo` does not protect you any less than a package manager that works with `sudo`. If malware has obtained file system access, it’s already game over. The malicious code can now mess with your shell profile and fake the `sudo` command.

Re: Some Differences Between macOS and Common Unix Systems

#16
post #5

Earlier quoted context omitted.

Also > macOS is a great system. It’s based on Unix but if you use it as just another Unix it will be a huge waste. I mean, I guess it's at least true that it's "based on Unix" through its BSD lineage, but still an odd turn of phrase as, as you note, macOS has been an actual, registered, UNIX 03 system since 10.5.

Particularly as the reference UNIX seems to be a Linux with systemd, which isn’t UNIX.

[deleted]

Re: Some Differences Between macOS and Common Unix Systems

#18

I keep hearing that `sudo` insecurity argument everywhere. I think that argument is fundamentally wrong. In practice, a package manager that eschews `sudo` does not protect you any less than a package manager that works with `sudo`. If malware has obtained file system access, it’s already game over. The malicious code can now mess with your shell profile and fake the `sudo` command.

The main problem isn't really that it doesn't require sudo.

If it installed as a user into your home dir, that would be fine.

Changing a shared system-wide path or installing shared system-wide files owned by a user is so fundamentally borked that you should immediately reject anything offered by anyone who suggested to do that.

But the masses of users who made it popular didn't know that and there were/are a lot of them, and the reason it's wrong won't bite many people because their macbooks only have one user account, and so you have a zillion people who didn't know they were getting bad advice and doing a broken thing, and if you tell them now, they don't see it because they've been doing it wrong for years and their house didn't burn down, and they vastly outnumber the people who unserstand the problem and would never have designed something so broken in the first place, and so it just stays both incorrect and the standard.

Re: Some Differences Between macOS and Common Unix Systems

#19
post #17

Is there any particular reason people would go out of their way to use gcc on macOS? It comes with clang/llvm, which seem adequate.

Some specific pieces of C++ support that Clang is missing:

Edit: newer link: https://clang.llvm.org/cxx_status.html

(older link, not applicable, was here)

Cross compiling for some embedded architectures.

Things like FORTRAN or Ada, calling routines built there from C (or vice versa), etc.

Re: Some Differences Between macOS and Common Unix Systems

#20
post #19
post #17

Is there any particular reason people would go out of their way to use gcc on macOS? It comes with clang/llvm, which seem adequate.

Some specific pieces of C++ support that Clang is missing: Edit: newer link: https://clang.llvm.org/cxx_status.html (older link, not applicable, was here) Cross compiling for some embedded architectures. Things like FORTRAN or Ada, calling routines built there from C (or vice versa), etc.

I don't know where you dug that up. That doc must be at least 10 years old. The clang that you get on an actual mac these days fully supports everything through C++17.
Post reply on HN