4 ms·
> answered complaints about Windows being bad for development by embedding an OS that is good for development and calling that an innovation Well, they actuall
by wtallis 1y ago
> answered complaints about Windows being bad for development by embedding an OS that is good for development and calling that an innovation
Well, they actually did it twice in recent history: WSL 1 was relatively innovative, integrating Linux application compatibility into the Windows operating system itself. But that turned out to still be bad for development because it meant Linux software was now subjected to the performance problems of the Windows IO stack. So they responded with WSL 2, an ordinary Linux VM. And separately they also introduced the "Dev Drive" feature to let you create a filesystem that bypassed the worst parts of the Windows IO stack.
- AndrewDavis 1y ago> WSL 1 was relatively innovative, integrating Linux application compatibility into the Windows operating system itself Both FreeBSD and Illumos were running Linux applications (at various levels of compatibility) many years prior to wsl v1. Joyent even went as far as re-implementing the Docker api to allow running OCI images natively in LX zones. Hence, it wasn't even that novel of an idea.
- wizzwizz4 1y agoAchieving it on Windows was fairly novel, though: we hadn't had something like that since the XP days.
- hnlmorg 1y agoEven that’s not true. cygwin, mingw, and others have been around for decades.
- wizzwizz4 1y agoThose are runtime environments provided by DLLs (requiring recompilation), not Wine-like translation layers. WSL 1 was something special, and it says something that Microsoft ditched it in favour of "we've invented virtual machines for the very first time!!!".
- hnlmorg 1y agoIt’s been a while since I’ve played with Cygwin and I do recall there were a lot of stuff compiled for Windows, but couldn’t it also run Linux software run natively too? Admittedly back then I was working for a place that mainly developed in Perl, so I didn’t port a whole lot of ELFs across. So maybe I’m misremembering
- wizzwizz4 1y agoI had to confirm this, but you are misremembering. https://www.sobyte.net/post/2021-11/cygwin-mingw-msys/ https://www.sobyte.net/post/2021-11/cygwin-mingw-msys/ gives a good rundown.
- hnlmorg 1y agoAhhh. It must just have been shell scripts, Perl and the likes that I ran under cygwin then. Thanks for correction
- deleted 1y ago[deleted]
- bithead 1y agoWhen I was on the team migrating datacenters, we got ahold of tcpdump.exe which didn't need winpcap presumably because it was staticly compiled under cygwin - I'm fairly certain someone didn't write the entire thing including winpcap from scratch. It was nice because getting anything approved by the windows sysadmin group was like changing the tire on a moving truck. It was more than a godsend, because when a windows server was plugging into "the wrong vlan" we could just give them the tcpdump command to capture a CDP/LLDP packet and tell us which switch and port the box was physically connected to.
- hnlmorg 1y agoA lot of software from the Linux/UNIX world will have macros to support Windows even without cygwin. For example with tcpdump: https://github.com/search?q=repo%3Athe-tcpdump-group%2Ftcpdump%20win32&type=code https://github.com/search?q=repo%3Athe-tcpdump-group%2Ftcpdu... So it’s not quite the same thing as what we were discussing further up the thread. Though it’s still an interesting anecdote in its own right.
- brynet 1y agoWhat's interesting is that the syscall-compatibility layers in the BSDs began with SunOS binary compat on NetBSD m68k/32-bit sparc-- which was created by Theo de Raadt. https://marc.info/?l=openbsd-tech&m=161435521906992&w=2 https://marc.info/?l=openbsd-tech&m=161435521906992&w=2 https://github.com/NetBSD/src/commit/6ce3f21 https://github.com/NetBSD/src/commit/6ce3f21 https://github.com/NetBSD/src/commit/1a68594 https://github.com/NetBSD/src/commit/1a68594 He also came to the same conclusion compat layers were a dead end (OpenBSD removed all compat_*(8) support, including Linux).
- hnlmorg 1y agoThat’s arguably an easy task though because there is more commonality due to POSIX. But there are plenty of examples of compatibility layers like this throughout computing history. WINE, cygwin, Linux compat, etc. Microsoft even went down this road already in the 80s with Xenix before abandoning the idea of Unix. The only novel part of WSL was the marketing folks
- AndrewDavis 1y agoMicrosoft had a POSIX personality on NT since its release in 1993. https://en.wikipedia.org/wiki/Microsoft_POSIX_subsystem https://en.wikipedia.org/wiki/Microsoft_POSIX_subsystem Then with the release of XP it was replaced with: https://en.wikipedia.org/wiki/Windows_Services_for_UNIX https://en.wikipedia.org/wiki/Windows_Services_for_UNIX
- p_ing 1y agoNT running POSIX applications pre-dates the existence of FreeBSD by a handful of months. The interesting thing about WSLv1 is the pico process concept, not the syscall compatibility.
- dangus 1y agoThis begs the question of why Microsoft doesn’t just transition Windows to being a commercial Linux distribution, especially now that Windows licenses are so much less important to Microsoft’s business than they used to be.
- ndsipa_pomu 1y agoThat'd be a lot of work for no gain and substantial loss of control (due to GPL). How are they going to force adverts onto people if it becomes easy to just run a script to remove them?
- immibis 1y agoAndroid is technically Linux, but you still can't remove the ads because it's all very locked down.
- ndsipa_pomu 1y agoYou can remove the ads from Android in a similar fashion to how you'd remove ads in Windows (e.g. DNS blocking). However, if you've got root access to Android, then there's other methods available to you. Some phones don't allow you access to root mode, but presumably a Windows version of Linux wouldn't be running on locked hardware (or at least I wouldn't buy something like that).
- dangus 1y agoIt’s just as easy to run a script to remove them on Windows but most people don’t do that. I would say that this vision of Windows would involve Microsoft essentially producing a Linux graphical shell similar to Gnome and KDE with a bunch of convenience tools that are typical to the Windows experience. It would have defaults like the Bing brower and all the typical Windows revenue-generating stuff. I don’t think the GPL requirement to release code is a problem for the business model. Not all of the tooling has to be released as GPL and even if some of it does, the brand and commercial partnerships of Windows will mean that most people don’t go out and replace Windows with the hypothetical de-commercialized version. We see this with VSCode where Microsoft is totally fine to release the code with an even more permissive license than the GPL, but they keep the extension marketplace gated. If you want Microsoft’s extensions you have to use VSCode.