4 ms·
I assumed many developers would prefer Windows because you can now run real Linux inside Windows. If your server code is going to run on Linux it helps to also
by petilon 4y ago
I assumed many developers would prefer Windows because you can now run real Linux inside Windows. If your server code is going to run on Linux it helps to also have Linux on your laptop.
- nottorp 4y ago> you can now run real Linux inside Windows Sorta. Not that I use Windows much but from comments here on HN I inferred that the first windows subsystem for linux was decent ish. But then they launched WSL 2 that runs a VM behind the scenes with Linux in it and that limits what you can do with the rest of the OS. Someone with actual experience please correct me if i'm wrong...
- smoldesu 4y agoWSL is certainly not perfect. If we're just comparing default shell experiences though, WSL's environment destroys the default MacOS one. Default GNU tooling, updated bash version, a real package manager... Microsoft knows what developers want when they install Linux, and they did a nice job with the mis-en-scene. Personally, using a Mac or Windows device is a sign that I'll be using VMs for development anyways. With WSL, that VM is tightly integrated with my host system - on MacOS it's a window into a different computer. Nowadays I'd prefer to avoid both OSes wherever possible, but I'd probably err on the side of using Windows for development simply because you can install Ubuntu with one click.
- tolger 4y agoI second this. WSL2 is very well integrated. You just open a terminal and have your Ubuntu (or Debian or whatever you set as default) environment ready to go. Even though it's running in a VM, whenever I start Tomcat, I can access it from the Windows side using http://localhost/ http://localhost/... It's that well integrated. VS Code opens my projects inside WSL as if they were local.
- mrguyorama 4y agoOn the contrary, I don't use a VM to do dev work on my mac, and it's TERRIBLE. Despite what people like to parrot, the mac shell is NOT linux compatible, is filled with tooling that literally cannot be used to make a modern application, and gets really really pissy if you try to do anything different. Brew and macports have to basically start the world from scratch again on a mac to get something resembling a good work environment, and it's STILL terrible. Every single time my work laptop updates anything, I basically have to rebuild those environments again because Xcode overwrites anything I may have configured back to defaults, defaults which were deprecated and non-viable for a secure product like a decade ago. I run into issues with the included version of SSL like twice a month, all because apple refuses to do the leg work to manage the licensing for more modern versions. Meanwhile in windows world, I can download a nearly full version of ubuntu with one click, run it as if it lives on it's own box, and yet still use tools that jump the layer between windows and linux to make it seem like it's not even there. It's pretty powerful. In some ways, the single best linux installation is the one you get on windows. It's so seamless I use powershell, CMD, and the linux shell interchangeably on my computer.
- smoldesu 4y agoNix was the only thing holding my sanity together when I was using Mac last. Maybe it was just the Apple Silicon transition, but Homebrew did not have parity with it's x86 version which led to wildly complicated scripts just to get dev environments arranged similarly. Not the sort of thing you want to deal with regularly. I recommend giving it a whirl if you're at your wit's end with Mac packaging: https://nixos.org/download.html#nix-install-macos https://nixos.org/download.html#nix-install-macos
- danny_codes 4y agoEh, it takes like 1 hour to setup a solid dev env on Mac. I used to run Ubuntu for work (dell xps) but the hardware quality was infuriating. My model literally came apart (hinge detached). I'd much rather spend the hour on dev env than spend a week without a laptop because of poor quality control
- smoldesu 4y agoI use Nix on both Mac and Linux, so my developer environments get automatically packed-in with my Git repos when I push them. It takes maybe 30 seconds to pull the repo and open a shell with either OS, but only MacOS consistently complains when doing normal stuff. I suppose all of this comes down to personal preference, but my experience has leaned in favor of using desktop Linux when the task permits.
- rewgs 4y agoFWIW, Canonical's Multipass has given me a great WSL-ish experience on macOS.
- AlotOfReading 4y agoThere were 3 major pain points for me: * USB access is more difficult than just plugging something in. * Debugging tools like perf, RR, etc were either unsupported because they needed hardware counters or required custom builds (no system headers in apt to help either). * The VM takes a lot of disk space. The rest of the experience was fairly smooth. WSL2 can access the entire filesystem through /mnt/<drive letter>/. Windows -> WSL is a bit janky, but it works. GPU access is supported. Network access works. You can use a remote X session to get GUIs working, though you need to be comfortable with linux. Unfortunately having DISPLAY set caused pip to hang for long periods due to [1], but apparently that's been resolved. All in all, it mostly replaced my windows usage by the end. It's also a great workaround for legacy IT environments where the system is configured with Windows and only Windows. [1] https://github.com/jaraco/keyring/issues/531 https://github.com/jaraco/keyring/issues/531
- rolenthedeep 4y agoThe problem with using windows isn't that you can't run Linux software, the problem is using windows. A lot of developers would prefer to run Mac or Linux, and only use windows for compiling when necessary. Unfortunately, Windows Windows is just the worst of the major OSes today. Windows still has the most market share and the most support, and there are still things it does better than Linux. But Linux and Mac are still better options in most cases.