I've always used Windows to develop Linux (previously Unix) server applications. Have done since 1996. Originally I used Windows because it was the only way to have a laptop. I like to code on airplanes and so on. Subsequently, I never saw a reason to change -- Macbooks are much more costly than Windows and "weird" if you're used to Windows. The flavor of Unix supported in macos is not the same as Linux. Linux on the laptop was never a serious solution because none of the Windows apps that I use would work. Also historically many hardware features (power management, WiFi, ...) didn't work well.
I began this journey before VMs on the desktop existed, and although I have used VMWare and VirtualBox, I found them cumbersome vs my preferred approach which was to make the Windows shell work like Unix (then Linux). For most of history I used Cygwin for this. You click a button and get a shell where you can run your build, utility commands etc, and you can use Windows native IDE such as IntelliJ.
I'm now a heavy WSL2 user. For me it is : Cygwin that works perfectly (since it's running a real Linux kernel and distro).
Yes, underneath it's a VM but the implementation is extremely fast and well integrated. I still get to click a button and have a shell I can run my build in. Filesystem access in both directions works. Docker even works. I no longer need to worry that yarn behaves oddly when running on Windows.
I don't (for this purpose) want "total control", I just want it to work out of the box. I also want it to keep working when my NT kernel updates, which can't always be said for VirtualBox and kin.
I began this journey before VMs on the desktop existed, and although I have used VMWare and VirtualBox, I found them cumbersome vs my preferred approach which was to make the Windows shell work like Unix (then Linux). For most of history I used Cygwin for this. You click a button and get a shell where you can run your build, utility commands etc, and you can use Windows native IDE such as IntelliJ.
I'm now a heavy WSL2 user. For me it is : Cygwin that works perfectly (since it's running a real Linux kernel and distro).
Yes, underneath it's a VM but the implementation is extremely fast and well integrated. I still get to click a button and have a shell I can run my build in. Filesystem access in both directions works. Docker even works. I no longer need to worry that yarn behaves oddly when running on Windows.
I don't (for this purpose) want "total control", I just want it to work out of the box. I also want it to keep working when my NT kernel updates, which can't always be said for VirtualBox and kin.