WSL was very cool from a pure tech standpoint, but I've never been clear what the actual use case for it was. WSL2 seems to be more along the lines of coLinux, which I felt the same way about when it was new.
I use it all the time. I develop software for Windows but being able to use various Linux utilities and software is super convinient.
Many of them have ports to Windows but it's just easier when it's all already available. Some days ago I needed to run some penetration test software and while supposedly I should be able to download the code myself and build in Windows, just installing using apt is a lot easier.
Well, if you want to use multimedia and do web development on the same machine, what are you going to do? Linux support is somewhere between nonexistent and utterly broken for the first one and the same can be said for the second on Windows. So your choices are, 1. run Linux primary, put Windows in a VM 2. run Windows primary and put Linux in a VM 3. Give up and just run a separate Linux server.
What problems did you experience in web development on Windows? I worked with Linux, Mac and Windows, but I didn‘t have any problems on any platform with a typical modern webpack/react/angular/typescript/elm etc.. stack. Even docker support with Hyper-V is okay imho.
The Linux multimedia story improves significantly if you avoid Nvidia GPU hardware. My work desktop (AMD Radeon) and laptop (Intel HD Graphics) work fine, and perform as the hardware should.
This seems like comment from early 2000s. I don't remember last time I head problems with BT or sound, and I went through dozen of installations in last 3 years (for me and others). I had to give up on Nvidia drivers but Intel graphics serves me great.
And these were times when I needed community help, most of the time I could get it working by pairing again or some such nonsense. It never worked reliably, in general.
Note I switched to Windows as my daily driver in 2018 January.
Canonical broke wlan and OpenGL for many of us when they decided to replace fully working closed source drivers, with work in progress open source replacements.
So even Ubuntu isn't necessarily a guarantee of stability.
Yes. Yes, I did. At least with Arch I could keep on working because only one of BT / printer / scanner broke on update, most of the production bits kept working. When I ran Ubuntu the system shattered every six months so badly I couldn't work for 2-3 days.
Been running some flavour of Debian for > 10 years. Now on my dell XPS 13 9350. Upgraded to Debian 10, a kernel regression broke the brcfmac driver for my Broadcom wireless. Now I need to disable power saving on the WiFi card. Still, sometimes the WiFi card just dies. Sometimes reloading the kernel module works, sometimes only a hard reset will do.
Broadcom unfortunately has never been well supported on Linux. I've always used ThinkPads for running Linux and have never had these sorts of hardware issues (and I keep laptops for at least 8 years). You need to buy a machine with running Linux in mind (or more specifically, Debian, which has even less out-of-the-box hardware support for laptops).
There are about 5000 of us who did choose a laptop for its keyboard and pointer: it's the ThinkPad 25 Anniversary Edition. I have an SK-8855 already and also ordered the new TEX Shinobi so my unwavering stance on my laptop needing a proper keyboard+pointer might change but for now my choice of weapon is the TP25.
> Web development on Windows has been like surfing for those of us doing Java and .NET web development, since like ever.
This similitude baffles me. Do you mean "had to wear protective equipment, had to drive constantly between locations, we were knocked over every few seconds, and we risked drowning several times"...?
It means riding the top wave while enjoying the Sun, hearing the cool background music coming from the loudspeakers on the beach, and feeling like a champion.
Development. At work we rely heavily on it to get work done because having an almost-linux-like environment is much better than having to run a WAMP stack or similar silly stuff.
It's made mine and my coworkers lives so much easier compared to before, so I'm certain use cases exist. Since WSL2 runs on HyperV, for some of my coworkers it's not an option, since they rely on VMware and similar for other essential work.
I use Docker on macOS daily for work. I love it, and am grateful for it, but the experience is NOTHING like using Docker on Linux. Docker for macOS runs in a virtual machine, and requires dedicating RAM to the daemon. You aren’t directly using the host OS’ kernel either, which can lead to wonky behavior, especially in regards to networking (IME).
There are a number of use cases where Docker for Mac and Windows are painful compared to Linux, and to overcome those problems (like fs performance on shared volumes) people spend a lot of time building hacky solutions.
- Bind mount performance is appalling, even with the delegated/cached modes. I understand the reasons for this, but it's still a major issue for some workloads. To use PHP development as an example, where a popular framework boot-up can read hundreds of files per request (as well as writing out to caches), it's not uncommon to see 5 second response times for a page that displays "hello world" and nothing else. Thankfully there are tools like docker-sync and Mutagen which, while it's one extra thing to set up, get you back to nearly native performance.
- com.docker.hyperkit is nuts. I can have a single container idling in the background doing nothing, hear my laptop fans spin up, and know without checking that com.docker.hyperkit is using 200% CPU for no discernible reason. Restarting the daemon brings things back down...for a while.
At the office we use Linux, but since I've been working from home on my Mac I've gone back to Vagrant for as many projects as I can. Heavier and far less easy to orchestrate yes, but I've found I actually end up with better and more predictable performance (and far less time with my laptop doing double duty as a space heater).
Docker Desktop 2.1.x with WSL1 works amazingly well.
I've been running this set up for over a year and the volume performance is superb.
Flask, Phoenix, Rails and Webpack driven apps are all a fantastic experience. For example Webpack takes 150ms to compile SCSS / ES6 JS diffs for large real world projects. Web server reloads on code change are effectively instant and I get microsecond response times in some Phoenix apps in development.
This is on 6 year old hardware too and the source code isn't even sitting on an SSD (but Docker Desktop is installed on an SSD).
In all cases, everything is running in Docker through Docker Deskop and I use the Docker CLI / Docker Compose in WSL as a client to connect to Docker Desktop.
Docker runs in a VM on macOS, with significant penalties to filesystem speed. I haven't used it for a few years, but booting the large Rails app I work on was several times slower under Docker.
One of my main pain points in Windows is that the terminal app options are so crap compared to iterm2 or even the plain terminal app. The app itself is definitely a draw too
None, as I stay away from them as far I can avoid them, Java and .NET are perfectly fine and IDEs have docker support in case I really need to deal with it.
Nah, you just target Windows with toolchains that support Windows natively, like I am expected to target UNIX with toolchains that support UNIX natively.
Your statement goes into both directions.
Guess why "Year of Linux Desktop" has failed to happen, and no, ChromeOS and Android aren't really GNU/Linux, the kernel is irrelevant to userspace languages and public APIs.
well, I definitely wouldn't use MS-DOS, because it doesn't support node or docker, but also because it's been obsolete since before Terminal.app existed.