To view parent comment, click here.
To read all comments associated with this story, please click here.
Oh, absolutely they have a place!
It has the following advantages over UNIX Subsystem for Windows
* much easier and faster to install
* much closer to Linux
* more software available
Vs virtualization
* much easier and faster to install
* faster to enter the environment
* less resource usage( memory/ cpu/disk)
* integrates better into host
But what do I know, I've only been using it for eleven years.
SFU is not an appropriate solution.
First, it is not included and installed by default on any shipping version of Windows, and never has been. Current Windows Server versions (may) include it, but it's not installed by default.
Second, it doesn't work on all versions of Windows. It's completely unavailable on the "Home" versions of Windows XP, Vista, and 7. The only people who could install SFU are businesses, individuals who actually bought a copy of XP Pro or Vista / 7 Ultimate, and pirates. Everyone else it out of luck.
Third, the versions are tied to specific versions of Windows, and each version is markedly different. Notably, the only available version for Windows XP uses ancient versions of the compiler (either MSVC or GCC), and lacks lots of features that are present in Cygwin.
It's really intended for businesses that have Unix applications they want to run on Windows. That's all it really does, and because it's positioned as a business feature, it's only available in the business versions of Windows (and the I-have-more-money-than-sense versions).
Regardless, it's not a replacement for MinGW anyway. MinGW produces native Win32 binaries, which work without any runtime, on any version of Windows. Neither Cygwin or SFU do that.
As for virtualization... that might work, but it's still a much more heavyweight solution.
MinGW provides an alternate compiler to Microsoft's own for compiling Win32 applications. This makes it possible to compile programs that rely on non-standard GCC extensions, for example, but MinGW doesn't provide any APIs other than Win32. Also, Microsoft seems to focus on C++ more than C, so those wanting to use C99 have to use a compiler other than Microsoft's - and GCC/MinGW happens to support C99.
Subsystem for UNIX-based applications also includes GCC.





Member since:
2005-07-06
I think the more important question; do MinGW and Cygwin have a place when one considers on one hand there is the UNIX Subsystem for Windows/Services for UNIX then on the other hand there is virtualisation which is getting to the stage where it can be a drop in solution for having integrated subsystem in the operating system itself.