This is kind of not really related, but last week, we’ve been onboarding two new devs into our programming project at work. Our team so far had exclusively used native Linux, while the two new folks were on Windows.
We recommended using a VM, because we had a recollection of how much pain programming on Windows was. Unfortunately, VirtualBox had performance problems on their machines and ordering a VMWare installation took a few days.
So, we spent those few days to see, if Windows was really still that much of a pain. They’d still need a VM for testing, but otherwise, our entire tooling should have been fine on Windows.
Fuck me, those days were wasted. One of our dependencies dynamically pulled in C code and compiled it, which you barely even noticed on Linux, but is apparently not a thing it can do on native Windows.
So, instead they were on WSL pretty early on, but that had all kinds of differences to a native Linux installation and they constantly had to fix the DNS config, because it kept being reset by Windows. In particular, while compiling Rust & C worked, it was extremely slow.
Eventually, they got VMWare and we started setting up the OS. We literally completed installing Linux before a compilation run had finished. And what had cost us multiple days to try to get going under Windows, was just working within an hour on Linux. And for some reason, compilation within the VM was about 20 times faster than under WSL.
I still assume, these are generally solvable problems and if our team had worked under WSL from the start, we would have had some of those solved.
But even taking that into account, there were just so many nonsense problems, which we never had to fix on Linux, that I’m still left absolutely baffled that some people genuinely use WSL for development.
I’m a C++ and Dart (yes I know unusual combo) dev on Windows
You feel my pain
My fucking god windows requires a whole month of just learning platform quirks and setting up a dev environment to START THE FUCKING WORK alone
Allegedly some new shite called dev drives and whatever are supposed to fix some of the disaster but I haven’t tested it yet
Also ABSOLUTELY FUCK the entire C compiler installation and setup in Windows. My fucking god Microsoft had had 40 years to fix their tooling for THE most used language and you still need a dark ritual to make everything work and install MSVC and msys and clang
That is because windows filesystem is mounted to WSL through NFS and while transferring large files through that is ok, transferring huge amounts of small files is really slow.
Hmm, that would fit the pattern, as it sometimes also got stuck on just downloading things, even when the DNS config hadn’t been reset.
Do you need to partition the disk then, to place ext4 or similar into a separate partition? I’m not sure, we can partition the disk in that corporate Windows setup our company uses…
Look up the difference between WSL1 and WSL2. If you’re using 2 just make sure you’re writing into /anything other than /mnt/driveletter, that should be ext4. For 1 it’s directly mounted on the ntfs filesystem and you’ll always have performance problems.
Well, in this case, they were not entirely newbies, they’re from a different team that we’re supposed to hand over to. The project is also in cooperation with other companies, so it’s not completely out of the question that some devs are trapped in Windows purgatory.
But yeah, we were certainly cursing at the end of the week, when we had already invested quite a bit more effort than we had hoped for, and we were still running into ever more new issues than we fixed in the same time.
This is kind of not really related, but last week, we’ve been onboarding two new devs into our programming project at work. Our team so far had exclusively used native Linux, while the two new folks were on Windows.
We recommended using a VM, because we had a recollection of how much pain programming on Windows was. Unfortunately, VirtualBox had performance problems on their machines and ordering a VMWare installation took a few days.
So, we spent those few days to see, if Windows was really still that much of a pain. They’d still need a VM for testing, but otherwise, our entire tooling should have been fine on Windows.
Fuck me, those days were wasted. One of our dependencies dynamically pulled in C code and compiled it, which you barely even noticed on Linux, but is apparently not a thing it can do on native Windows.
So, instead they were on WSL pretty early on, but that had all kinds of differences to a native Linux installation and they constantly had to fix the DNS config, because it kept being reset by Windows. In particular, while compiling Rust & C worked, it was extremely slow.
Eventually, they got VMWare and we started setting up the OS. We literally completed installing Linux before a compilation run had finished. And what had cost us multiple days to try to get going under Windows, was just working within an hour on Linux. And for some reason, compilation within the VM was about 20 times faster than under WSL.
I still assume, these are generally solvable problems and if our team had worked under WSL from the start, we would have had some of those solved.
But even taking that into account, there were just so many nonsense problems, which we never had to fix on Linux, that I’m still left absolutely baffled that some people genuinely use WSL for development.
I’m a C++ and Dart (yes I know unusual combo) dev on Windows
You feel my pain
My fucking god windows requires a whole month of just learning platform quirks and setting up a dev environment to START THE FUCKING WORK alone
Allegedly some new shite called dev drives and whatever are supposed to fix some of the disaster but I haven’t tested it yet
Also ABSOLUTELY FUCK the entire C compiler installation and setup in Windows. My fucking god Microsoft had had 40 years to fix their tooling for THE most used language and you still need a dark ritual to make everything work and install MSVC and msys and clang
WSL’s performance is drastically better when you don’t save your files on Windows’ filesystem.
That is because windows filesystem is mounted to WSL through NFS and while transferring large files through that is ok, transferring huge amounts of small files is really slow.
Windows has dead slow file operations natively. Like orders of magnitude slower.
Hmm, that would fit the pattern, as it sometimes also got stuck on just downloading things, even when the DNS config hadn’t been reset.
Do you need to partition the disk then, to place ext4 or similar into a separate partition? I’m not sure, we can partition the disk in that corporate Windows setup our company uses…
Look up the difference between WSL1 and WSL2. If you’re using 2 just make sure you’re writing into /anything other than /mnt/driveletter, that should be ext4. For 1 it’s directly mounted on the ntfs filesystem and you’ll always have performance problems.
Our approach to newbies wanting to use windows is: “go ahead, but you’re on your own”
They try maybe a day or two, then they install linux
Well, in this case, they were not entirely newbies, they’re from a different team that we’re supposed to hand over to. The project is also in cooperation with other companies, so it’s not completely out of the question that some devs are trapped in Windows purgatory.
But yeah, we were certainly cursing at the end of the week, when we had already invested quite a bit more effort than we had hoped for, and we were still running into ever more new issues than we fixed in the same time.