Ask HN: Transitioning from Mac to Windows 10 as dev

10 points by pibefision ↗ HN
Hi HN!. I've seen many people transitioning from Mac to Windlws 10 as a dev station for many reasons.

I wonder what HN thinks about this. My main concern is lack of unix subsystem, lack of a good Terminal etc. Any advise?

7 comments

[ 4.6 ms ] story [ 29.6 ms ] thread
Why are you making the transition? I’ve tried it, and ended up back on MacOS for a few reasons. If you are joining a team that is using Windows extensively, you’ll find it easier than if you are trying to switch to Windows in a dev team that’s all Mac/Linux.

There is a decent Linux subsystem on Windows 10 now: https://docs.microsoft.com/en-us/windows/wsl/install-win10. It’s continued to improve and has pretty good interop with Windows at this point.

After trying too many different terminal emulators, I ended up really liking ConEmu: https://conemu.github.io. This had much of the same functionality as iTerm and looked good.

The lack of a good ssh client was annoying though. Having to go back and open putty to ssh into a remote server was really painful when I want to complete everything right in the terminal. I haven’t tried it yet, but I’ve seen that Microsoft might have started including ssh in Windows 10 builds recently, which would be super nice.

The Linux subsystem for Windows is pretty good, but I run an Ubuntu box through Vagrant for my development these days. Apps work better on Windows, especially Office apps and, surprisingly, Chrome
I've played around a lot with using all of Mac, Win 10 and Linux as a dev station to see what I like best, in the recent year.

Win 10 has a unix subsystem now as others mentioned. It's called WSL (Windows Subsystem Linux) which you can install on a Win 10 (doesn't come installed by default). Incidentally on every computer I tried this on, I keep seeing really slow startup times if you have node/nvm installed (which I use a lot for development work these days). The nvm startup script just takes a lot longer to run than on Mac or Linux.

My main complaints with the WSL terminal might sound rather trivial: 1) Horribly inconvenient copy-and-paste, 2) no tabs. On #1, copy and pasting is supported but I can't seem to get it to work without using the mouse and clicking into the menu to do it. Following the keyboard shortcuts labeled on those menu items simply doesn't work. On #2, I'm simply too used to being able to open multiple tabs for different things quickly. I can open 2 windows, but it's not the same.

My main complaints with macOS are also trivial: 1) I just cannot get used to the whole cmd/ctrl/alt/option modifier keys on the macOS, even after years of using it at work by now. (I grew up on Windows for the first 25+ years of my computing life.) 2) There doesn't seem to be a reasonable way to remap home/end keys to work like they do on Windows/Linux. I tried a ton of things, but it still doesn't work fully on every app. On many apps (Slack for one), home/end still goes to beginning of text or end of text instead of beginning of line/end of line even after extensive remapping.

My order of preference of dev station OS: Linux (any flavor, but I choose CentOS myself), Win10, macOS.

Depending on your needs, you might want to consider MSYS2 (http://www.msys2.org) (based on CygWin). WSL provides linux emulation in kernel. MSYS2/CygWin provide linux emulation in a DLL. MSYS2 includes MinTTY (https://mintty.github.io) as a terminal program.
Why not Linux? I would prefer Linux over OSX completely.

IMO OSX is much better than Windows for dev work and it's still terrible.