4 ms·
Between MacOS and Windows in recent years, I vastly prefer Windows. WSL2 alone beats the pants off anything in MacOS - and MacOS had become a much more frustrat
by cameronh90 6y ago
Between MacOS and Windows in recent years, I vastly prefer Windows. WSL2 alone beats the pants off anything in MacOS - and MacOS had become a much more frustrating experience over the past few years.
Windows is still, to some extent, full of magic and dragons underneath... and while they're doing an increasingly good job at hiding it, it does occasionally bite you in the arse. But Windows has on the whole become a competent development environment that works very well with almost any kind of development workload - with the exception of native iOS and MacOS. Also GPU accelerated ML on Windows is still kind of sketchy.
For a dedicated backend application development desktop, I still prefer Linux. But hardware support is generally better on Windows, plus you have access to Adobe Creative Suite, better colour management, better graphics drivers, etc. and there are types of development that just aren't practical on Linux, such as 3D games, Excel add-ons, VSTs and lots of proprietary embedded development platforms don't support anything other than Windows.
On the other hand, .NET development nowadays is just as easy on MacOS, Windows and Linux.
- procinct 6y agoWhat do you find is so much better in WSL2 vs Mac? I find when I’m using WSL2 I feel more like I’m using 2 computers since they have the different file systems (you can’t just git clone into your windows file system from WSL for example) Whereas with Mac, it’s all one system and it’s all still Unix. The rest of Mac vs Windows seems like it could be up for debate (last few Mac updates have made it feel a lot less polished) but from a purely terminal experience I’ve found Mac to be so much better since it’s all just one system. I’m switching to Windows soon so I’m really curious, what’s your workflow for dev with WSL? For example, where do you keep your repos? What editor do you use? That sort of thing.
- PascLeRasc 6y agoThis is the issue for me too. You can’t interact with your regular files via WSL, so you can’t use imagemagick to convert an image on your desktop folder, or subl to open a file in Sublime. You can sometimes find the folder via File Explorer but Windows will corrupt your files if you change them there. There’s other things that annoy me like typing latency, apt taking forever to run, an awful terminal emulator with basically no customization, copy and paste often just does not work. It’s really so frustrating.
- dmatech 6y agoI do this sort of thing with WSL1 all the time. Unless you're dealing with large numbers of files or spawning thousands of processes (or have security software that gets in the way), it is perfectly adequate for me.
- cameronh90 6y ago"You can’t interact with your regular files via WSL" You absolutely can, I do it all the time. For example, you shift-click your desktop, click "Open Linux shell here" and run imagemagick or ffmpeg to your heart's content. You can alias subl to your Windows sublime install and then subl ~/whatever will work as expected. I don't experience any of your other problems. Apt is very quick, copy and paste works fine, typing latency seems lower than Linux (but I do have a 144hz G-sync monitor). I agree that Windows Terminal is a bit spartan, but I was never one for excessive terminal customisation on Linux either so it doesn't really bother me, I guess.
- saurik 6y agoJust use cygwin.
- cameronh90 6y agoYou can interact with your Windows filesystem from WSL2, though the performance is worse than the VM's own filesystem. Additionally you can access WSL2's files through the \\wsl$ share. For example, /mnt/c/windows/notepad.exe ~/file launches notepad on my Windows desktop and opens ~/file from WSL2. While the integration isn't perfect, it is usable. The reason I prefer it to MacOS is that it is actually a real Linux kernel with all the trimmings - such as apt, docker, eBPF etc. My recent experience on MacOS is that every update seems to break Brew, which, while better than MacPorts, doesn't even work all that well to begin with. MacOS is a weird BSD with poorly documented closed source system components such as launchd. If that's your thing, it's fine - but I personally find the Mac/BSD userspace unpleasant to work with and am tired of fighting against it every time Apple decide to break my attempts to make it more tolerable. Versus a VM it's less clear, but the integration is actually fairly good, each of your WSL2 "distros" start instantly, you can launch them to the current directory in Explorer or use them from Windows Terminal without SSHing. For the most part, it _feels_ like Ubuntu is just a part of Windows. My workflow with WSL2 is that I keep most of my repos in the Windows desktop and use Windows versions of JetBrains' IDEs or VSCode for most of my work, but then I use WSL for docker/kubernetes, running CLI-oriented things like vim, ffmpeg, imagemagick, shell scripts, python, terraform, etc. Plus, I have a Ryzen 5950X with 128GB memory, which isn't strictly a limitation of MacOS, but it certainly makes my life a lot better!
- djsavvy 6y agoSo you definitely can git clone into your windows file system from WSL. There are a few edge cases that are tricky (for instance you can’t register a batch script in WSL2 as a file association handler) but for the most part it’s pretty smooth.