|I'm talking about cmd (and Cygwin) not integrating with Windows' GUI at all.|
The only problem I see in that regard is the lack of proper font support, and in turn the lack of proper Unicode support. Not necessarily relevant for someone who just wants to use Bash, presumably for scripting.
|That's one way to put it. I know that the way Windows organises programs is more neat-and-tidy, but program binaries not being in the PATH by default is extremely irritating, and the extra organisation you get from encapsulating programs into a separate directories loses to the benefits of having every executable in one of a few well-defined directories, and then having all the configuration files in another, and so on. For one thing, you don't have to have shortcuts to executables everywhere.|
I wasn't really referring to this. Cygwin creates its own file hierarchy with programs installed on it, so that's not a problem.
I was referring to the fact that Windows doesn't make absolutely everything accessible from a single directory tree. Possibly permissions could be a problem, too.
|I don't see how Cygwin would implement symlinks and hardlinks.|
Come to think of it, hardlinks are actual system hardlinks, I think. Symlinks are simulated with regular files that contain the path to the target. This can be pretty annoying if you're untaring something with links inside.
|Windows doesn't have symlinks|
File symlinks have been supported since Vista. Directory symlinks since XP, if not earlier. Check mklink.
|UNIX can be considered an IDE. Every development tool is a single command away.|
Talk about lax definitions.
I don't think anyone would agree that this counts as "integrated". The tools don't necessarily interact much with each other, for one. You won't be able to, in vi, step through a program running in gdb by simply running vi and gdb, for example. I'm not saying it can't be done, I'm saying it's not a behavior that follows ipso facto from running the programs under UNIX.
Also, any system can be configured to run programs to any desired level of convenience. An IDE should do more than the basic OS functions.