Cygwin 1.7 Released
jensend writes "The 1.7 branch of Cygwin, the Unix-like environment for Windows, has reached stable status after about 3 1/2 years of effort. Among many other changes, this release drops support for Windows 9x. Since the NT API and NT-based versions of Windows are more capable and somewhat less of a mismatch with POSIX (for instance, they include a security model), this has allowed for code path simplifications, better performance (particularly noticeable with pipe I/O), better security, and better POSIX compatibility."
Windows has had a POSIX layer of its own for awhile now, as "Services for Unix".
On the lighter-weight end, mingw can give you the basics, and they usually run much faster (even bash!) than Cygwin did. Maybe Cygwin is better now, it's just that I don't really see what it has over, well, any other way of running POSIX apps on Windows.
Don't thank God, thank a doctor!
For a while, I've been using a modified version of Cygwin in order to get proper UTF-8 support. Does the new version finally integrate a similar feature?
Cygwin isn't meant to give you all the Linux or Windows system features, just provide a full-featured POSIX emulation layer (at its core, just one DLL), and programs compiled for that. You may still need to use Windows utilities to access Windows-specific features that have no POSIX implementation. However, the important thing is that it basically gives Unix developers a common platform, so anything developed for general Unix systems will compile on Cygwin's POSIX emulation layer.
Since Cygwin basically throws you into a command shell, it really does require an understanding of the fundamentals of Unix/Linux systems and how to work effectively in a shell. For example, I doubt many users of Slackware or NetBSD would have any substantial complaints about Cygwin. As someone who used Cygwin for years in a corporate environment where I could not use Linux, it was a godsend. I could spend my whole day working in Cygwin without having to mess with Windows development environments. Being able to throw together a bash script that uses grep, sed, awk, etc. is so nice for a stranded Linux user. However, many people do not learn the basic utilities anymore, even basic things such as customizing a login shell.
If there is a weak point in the Cygwin interactive experience, in my opinion it comes from the fact that the default Windows terminal program is used, which is slow and generally terrible compared to the modern Linux terminal apps. Maybe someday there will be a fast and full-featured replacement. But as it is, the Windows terminal is basically sluggish early 90's cruft that just isn't up to the task. Not a fault of Cygwin, but still a problem when running any such programs on Windows.
Systemd: the PulseAudio of init systems
For *nix users, however, the reverse is usually true.
Making the half-assed GUI so lousy that people will actually prefer a command line interface is not the right way to go about doing things