Hacker News new | ask | show | jobs
by iofthestorm 6369 days ago
Wow, I was looking for this recently but didn't remember what it was called. For me, Windows is good overall, and I'm a gamer, and I started on DOS so I'm pretty command-line happy, but after using Linux/UNIX for personal use and school I vastly prefer the nix command line tools. I have Cygwin installed and use that somewhat often, and I also have msys so I can use some nix commands in the regular Windows prompt. What does SFU/SUA do that Cygwin/msys don't? Speed is always nice but what do you mean by software compatibility?
1 comments

UNIX software is not perfectly portable. Portable software is less likely to run on niche systems. The fewer users that a particular platform has, the less likely it is that portability issues particular to that platform have been discovered and fixed.

It has been my experience that one is more likely to find portability bugs in software when one tries to build it on Interix/SFU/SUA than when one attempts to build on Cygwin.

There are only two reasons to use SUA:

- Interix/SFU/SUA has the advantage that much of its system calls are implemented in a kernel driver, just like native system calls. Cygwin hits a userspace emulation layer for many calls, and that incurs a performance cost.

- Cygwin is third party. Interix/SFU/SUA comes from Microsoft.

- Interix/SFU/SUA includes some fairly useful NIS/NFS integration stuff. It's not great, but it's better than nothing.

Whether you choose SFU or Cygwin, UNIX software ported to a compatibility layer is generally more pleasant than native hosted software. ActivePerl and native Apache are just a pain in the ass compared to Cygwin/SFU's implementations.