DEV Community

Discussion on: Developing on Windows: Docker, Linux VM, WSL or Cygwin?

Collapse
 
ferricoxide profile image
Thomas H Jones II

Depends on the nature of the development you're doing. If there's any likelihood that what you're planning to do will require running in a native space, then a VM is going to be your best bet (whether hosted locally or "in the cloud"). The first three options you list fall under the "VM" heading, to a greater or lesser degree.

I've used Cygwin/X for over a decade. However, that use has mostly been as a management interface. It's good for things like SSH'ing to remote systems, running tools like the AWS CLI, basic editing of programs (that will be run elsewhere) or displaying remote X-clients' output to. For actual coding that is influenced by the environment it runs in, it's not adequately insulated/abstracted from the host it's running on as it's really just a shell (you'll especially see this in code that relies on multi-threading or low-level I/O manipulation).