Not talking about the hardware, but the general experience overall. I know Windows has gotten a lot better with WSL these recent years, but I haven't touched Windows for 10 years now.
Peeps here who have had experience with developer-friendliness and tooling in both these platforms, can you comment?<p>Thanks a lot!
As a general purpose OS, I actually quite like Windows 11, its nice, clean, and beautiful. But unfortunately, Windows is not there for development. I've used WSL for years and its actually gotten much <i>worse</i> with WSL2, especially with Docker. Specifically, I'd be plagued by this issue (<a href="https://github.com/microsoft/WSL/issues/4166" rel="nofollow">https://github.com/microsoft/WSL/issues/4166</a>), where Docker would eat all the WSL memory and never release it. I finally pulled the plug and use Ubuntu 22 as as a daily OS (on dual boot), the UX is not bad, e.g. I was actually pleasantly surprised by the smoothness of the windowing gestures as a first time user, but there are many warts (e.g. very janky around sleeping/hibernating). I mostly develop and browse the web so its OK overall.<p>MacOS is very good, no real complaints.
I honestly hate both. On macos, I need 3 utility apps just to make the desktop windows behave / layout / switch in a reasonable way. Advanced firewall and permission control basically doesn't exist. If you compile lots of software, you'll occasionally find things that fail for very Mac-specific reasons. At least it's a posix-ish system, so many Linux tools can be compiled natively. But if you use homebrew as a developer, prepare for occasional breakages.<p>On Windows, the lack of packages and automatic updates running as an extra app for everything is absurd at this point. (Yes, winget is getting there and can be usable if you know about it and your apps support it) Each device driver thinks it's a marketing opportunity for the producer with yet another tray bar entry. Start search sucks every time (I'm told it's fixed in win11). WSL2 exists, but it's just a vm with nice tooling. Constant marketing spam that comes back after you disable it in a product you paid for. Failing updates.<p>Edit: Also, both have a layer below which debugging is extremely hard. Why did something fail? Haha, good luck, we'll just log "Operation: failed", hope you like dtrace and digging into the kernel to solve it.<p>So, I'm not recommending either. Macos is less bad due to posix-ish environment. Happy Linux user.
I despise shitting on either OS.<p>I highly recommend macOS with vmware fusion to run/integrate windows and linux VMs.<p>Mac is too apple lockeddown, strict and opinionated on trivial things, Linux is fragile and messy, windows is somehow over and under-engineered at the same time with legacy crap holding it back.<p>They all suck and rock depending on perspective so use them all on the same device (macbooks are solid), alternating between them to take advantage of their nice features and avoid the bad stuff.
I use macOS (as my main/dev laptop), W10 laptop for some work stuff, and various Linux flavour headless servers (RPis and cloud). And I have used many many OSes in the past, including many variants of <i>nix and Windows.<p>I had never managed to get a </i>nix laptop install to work nicely, including ma ny attempts with Solaris for example. That's what I get out of the box with macOS, and with decent <i>nix tools support. Plus Homebrew is good!<p>W10 is the best Windows environment that I have used, and the Linux subsystem works reasonably well for me. But is is </i>SLOW*. I think that there's something like a 2x CPU tax to run Windows in practice, and I've definitely repeatably measured consistent performance penalties for Windows over other OSes on the same hardware for my clients in the past.<p>I do pay a hefty premium for macOS, but it generally just does work more reliably and faster and more smoothly than Windows, for me, so I pay it willingly.
Windows is a dumpster fire<p>macOS is the way to go if you want to get shit done, native linux env, smooth OS, fast file system<p>battery life and perf/watt is unmatched<p>the fact that microsoft had to ship a whole VM speaks volume about what you need nowadays to function: a proper linux env<p>about WSL: it's awfully slow
you may refer to<p>> Out of 130 tests in total, Windows 11 WSL2 Ubuntu 20.04 LTS managed to run at 94% the speed of bare metal Ubuntu 20.04 LTS on the same system.<p>from Phoronix <a href="https://www.phoronix.com/review/windows11-wsl2-good/5" rel="nofollow">https://www.phoronix.com/review/windows11-wsl2-good/5</a>
I bounce between WSL2 running on windows 10 and an M1 mbpro max.<p>TL;DR is buy an M1/M2 Mac if you want to buy a laptop. I like both setups, but only because I’m done jumping through most of the wsl hoops.<p>If you go with windows, be sure to use Windows Terminal as all other terminals I’ve used (haven’t tried hyper) suffer performance-wise with wsl.<p>The biggest issue with wsl is easily the memory usage. No one seems to talk about this part of wsl, but if you use vscode, you’ll quickly fill up 16gb of ram while also doing things like running discord/slack + a dozen chrome tabs. I’ve since transitioned to (neo)vim and the experience is much better RAM-wise. Bare minimum for any windows computer running wsl is 32gb imo, especially if you’re using any amount of docker like that other comment mentioned. I ended up having to write a cronjob to manually clean up terminated containers still hogging memory periodically.<p>This brings me to another downside of wsl: just by having wsl on, it will take about 2gb minimum in my experience. This is unfortunate, as the only way to run the cron server in wsl on windows startup is to have windows task manager turn it on at startup, essentially forever hogging a minimum amount of ram on your machine. I play lots of games on my windows machine and it feels very clunky to have to always open power shell and run `wsl —shutdown` before I can play games. An unfortunate tradeoff between the wsl cron server, and anything else you’d ever like to do that requires significant memory.<p>Personally I think any sort of Mac desktop is silly (just get a powerful m1/m2 and external display(s), although be careful of the new m2 which only supports 1 external display iirc) and after using both of these machines/dev environments extensively, I can say that if I had to do it again I’d just go with a Mac laptop. If you have the funds I strongly recommend doing the same. However, if you’d like a pc for anything windows specific (like most games), wsl is a fine choice so long as you get an appropriate amount of ram and don’t mind the extra time/energy required for debugging some wsl specific issues. Most wsl issues are one time things that don’t take too long, but it definitely takes some getting used to.<p>Also worth noting that something I’ve found to be annoying about wsl is that there’s so few resources online for debugging issues when compared to the mac ecosystem. Not only that, but if you change your distro from the default Ubuntu in wsl, the set of people running into similar issues will be even smaller.<p>To add to my ramblings, I had issues setting up an xserver for a wsl gui and eventually just gave up.<p>One of the new Mac’s will just work out of the box.<p>Hope this helps you make your decision.