| What everyone wants is native software for their chosen platform. There are lots of programmers who would rather have a Unix-like environment but are compelled to use Windows machines. Almost nobody with the reverse situation. So they install Cygwin, or MinGW / MSYS2, or Git Bash, or WSL, so they don't get the braindead Microsoft vision of what a shell and userspace should be. They get a comfortable and familiar environment they're productive with, using software that was designed for Unix and written using Unix. They know what they're doing and accept the tradeoffs they've made. They are not the same as the naive user who needs their hand held. If these programmers build software for naive users, they should be using languages suitable for cross-platform support, and target-specific build solutions, like jlink, electron-builder, PyInstaller... duh! Or write C/C++ linked to cygwin1.dll for Unix semantics (in the same way Windows developers can write C/C++ linked to libwine.so.1 for Windows semantics...) If that approach isn't a good fit, then sure, go native development in the target platform. Learn PowerShell rather than try to write it in bash and bundle the entire Unix userspace to make it work. But don't say you need to adopt the full Windows native toolchain and spend years becoming adept with them, unless you're actually planning to become a native Windows developer. |