I use Cygwin sometimes because I want a Unix-Like environment on windows. I use things like sys/types, sys/sockets, arpa/inet and a bunch of other things. I know windows has the one header winsock(2). Should I use Cygwin or what? Also, what is the difference between it and MinGW?