> VSCode and WSL makes Windows awesome for web development
it is, MS care about keeping people on windows, even through it sometimes doesn't look like it
That was the idea of WSL after Microsoft realized they kind had lost the server wars (if you want to call them that) and people in science degrees frequently ended up using Linux, too (not just STEM but also others, e.g. Linguistics):
make it so that people which normally might have tried out Linux because they use tools which are Linux first don't have to try it out and in turn might never notice that it has become fairly usable for a lot of use-cases even for non tech enthusiasts
but they love Linux sure, and they surely didn't do anything to make it harder to install Linux on new system in recent times like trying to convince vendors to not ship the 3rd party certificate needed to install linux with secure boot enabled
similar for VSCode, MS realized there are huge groups of people they will never convince to use VisualStudio so they made a IDE just for them, even open source
and then increasingly adds more and more MS proprietary extensions they believe are long term essential for productive using it
but sure MS has changed and definitely isn't having any bad idea like Embrace, extend, and extinguish anymore ... or maybe they just realized they need to be a bit more soft with their approach and care a bit more about image
anyway I'm (actually, not sarcastically) sure a lot MS Dev, including such involved in this projects, acted only with best intention not having EEE or anything like that in mind
problem is huge companies like MS are in the end committed to abuse their power as much as they can get away with
which currently means playing somewhat nicely and embracing competition ... for now
Basicaly seeing Linux folks buying Mac Laptops, for doing UNIX stuff instead of paying OEM Linux vendors was the key finding, then naturally instead of bringing Windows NT POSIX subsystem (or its successor SUA), shipping Linux support was a natural option.
It was the confirmation many only care about a POSIX like experience, not really about the GNU/Linux ecosystem.
VSCode is the child of Erich Gamma, of Eclipse and Visual Age IDEs fame, briging it to the desktop instead of a Web IDE project, was pivot.
"VS Code Day 2021 VS Code an overnight success 10 years in the making with Erich Gamma"
I find it confusing that macOS is assumed the best dev OS without any doubts or second thoughts. Yes macs are great hardware, absolutely nothing else like it available for any price, but the OS is subpar (and I don't even mean the window management). Source: was running Windows forever and macOS for the past 18 months.
I've been using Windows for two decades and before that I loved the Amiga Workbench.
When I had the choice between a Dell Windows notebook and a macBook I went to the Apple store and some enthusiastic person showed me the new 2017 models with larger touchpad and gestures to move between workspaces. I thought "these apple people. who needs that".
Then we ordered the macBook and because of my keyboard layout choice it took a week to arrive. I got a used Dell notebook for week, worked and then switched to the macBook.
When I had to give the Dell back I wanted to transfer some files to the macBook, and I used the touchpad and made some macOS gestures and wondered why the touchpad is so small and why the gestures don't work. This was the moment I understood why the person told me about these things.
I'm using macOS for 7 years now. Also had to deal with some bugs and stupid UX here and there. But overall my OS of choice for sure. Oh and the touchbar on the top of the keyboard was not even a good idea, I think. My last Windows was Windows 7 and I liked it a lot. Windows 10 I never liked, even when I only used it in a VM.
This is what I meant by hardware; I consider touchpad gestures to be hardware even if their responses have to be handled in software.
I use my (my employer's) macbook 99% of the time docked, so I don't really care, but yes objectively gestures are top notch.
It's all the other parts of the OS to which you aren't immediately exposed which get me. Most displays need an external tool to force a sane resolution. The command line tools are almost-but-not-quite compatible with what you use on servers. Docker is horseshit. Need another external program to see how many times I have to cycle through app windows. Need an external tool to invert mouse wheel scroll direction but not the touchpad scroll direction. Need an external tool for a sane clipboard. Need an external tool to tile windows.
The hardware is very much 'pro' but the OS is at most 'deluxe'.
Whether people think a particular OS is subpar or not is pretty subjective and based around a set of preferences for how one wants to interact with their computer. I've used 5 different OS families in my time and each one had stuff I liked and stuff I didn't. I no longer speak about which OS is better. Only which one I prefer to use based on my interaction preferences.
* I prefer the command line and keyboard interactions to a mouse.
* I'm a focus on one thing at a time kind of guy so minimizing distraction is important to me.
* I want hermetic repeatable configuration for my system.
Because of this I have a preference for unix systems, because they have better Cli tooling and methods for minimizing distraction. I like mac's because the hardware is better and the OS is basically unix with some polishing bits. The window switching behavior also means I can stay focused a little easier.
Is it perfect? No but it meets my most important criteria better than anything else out there.
Other people have very different criteria than me though so the calculation will be different. Neither OS is subpar just focuses on a different market.
I also think the same, while Apple is very good on the hardware side, the software side doesn't feel very polished to me and I regularly encounter bugs on basic features (especially anything network related)
While they get praised a lot for the UX, I personally find it questionable and more optimised to look good on a screenshot than actually usable.
That's surprising. The last few Windows machines I've owned I've had to fiddle with networking stuff. In particular, they would all begin to intermittently lose internet access after about 6 months, requiring me to go through a series of steps to flush the DNS cache, renew IP, and reset winsock. On the other hand, I've never had a networking issue on a Mac for the 15 years I've owned them.
It's weird how much people's experience can vary on these types of things. I've heard networking being a headache on Macs from others too. I've just never experienced any issues before.
My work mandates MacOS, so most of my computing time is spent there. I think I'd accept a small paycut to use Windows, I find it a lot more productive and pleasant to use despite inferior laptops.
I always find myself missing the little things when I switch. They just bug me so much.
It's stuff like:
* Control and Command being separate buttons, so Cmd-C and Ctrl-C don't conflict in terminals
* Being able to hold-then-drag to quickly select a menu item in one press
* Unix-native built-in CLI utilities for working with the OS
* Better clipboard support for images with alpha channels in Adobe apps
* Built-in universal preview app with file manager integration
* Text cursor shortcuts (Alt-←/→ to move around words rather than Ctrl-←/→)
* iPhone integration (shared clipboard)
Honestly, I think all of these are pretty damn subjective and come down to muscle memory (aka learning PowerShell), while some can be more or less fixed up with AutoHotKey, but I keep finding these little behaviors that make it hard to switch.
You may want to look into PowerToy, that comes with a file preview for the explorer and settings for shortcuts and keybindings (and way more other features). It’s a really useful tool for power users
Seconded. PowerToys + WSL2 at work have kept me happy enough and very productive at work. A decade ago, when I was (briefly -- I moved to a Linux based development team before the end of my first year there) in a Windows development shop (.NET), I felt the loss of productivity as I was moving to Windows from a decade of Linux based development. But today? Not really.
Many of these are matter of familiarity though than missing functionality.
I find Alt<-/-> alien compared to Ctrl <-/-> because I am used to Windows but both key combinations have the same effect.
Native windows is perfectly usable for development. I’ve also been doing it for 10 years on windows and have always found it awesome.
The only people who think it’s not usable are the ones who are trying to make it POSIX or have built their code bases on tools that aren’t cross platform.
In my case, it's the most sane option for Rails development on a Windows environment. My workplace have no love for macOS or Linux distros so I'm bound to Windows 11, I do also work with a lot of Desktop implementations in C# so it half-way makes sense.
WSL slow things down quite a bit, starting/stopping a server, deployments, git workflow... Even then still beats having to run things on a VM an it is better that the hell it was to set up dev environments in Windows before (for anything not .NET)
> WSL slow things down quite a bit, starting/stopping a server, deployments, git workflow...
There's zero reason (and has been for quite some time, at least a couple years) for those things to be slow - the trick is to 1) make triple sure you're running WSL2 and 2) never store anything on the Windows drive, keep everything in WSL2 home directory. it's basically native Linux speed then.
Ah! thanks for the tips! I just set up a new environment and will be testing speeds for sure, yeah, I was using the /mnt/ path structure to reach the projects from the Windows file system.
I made the mistake to store it on the windows drive. When I moved it I was blown out of the water of the performance. I got some insane speeds that I didn't think was possible
I haven't had to worry about graphics drivers issues in over a decade across my 3-4 AMD/Intel laptops/desktops...
As for font rendering.. I'm actually curious what people mean by that.. To me the text in the apps i use: VS Code, the major browsers, vlc looks practically the same between windows and Linux . Terminal - i like my Dracula theme on Yakuake and prefer that too what cmd.exe/powershell provides in windows.. so is it some high dpi monitor thing?
Yeah, my last experience with Nvidia on Linux was super annoying too. I already made the stupid decision to purchase an Nvidia Gaming Laptop back then (~2012-2013). The thing was bulky and ran super hot with abysmal battery life. On top of that the Nvidia Optimus situation on Linux made me simply disable discrete GPUs back then. That's why i haven't purchased any Nvidia hardware since then.
Also, not to start a flamewar here or anything but isn't Fedora like super bleeding edge/and sometimes unstable software generally? I remember them shipping wayland super early... Friends with Nvidia desktops generally used things like Pop OS..
In some corporate environments, having to use MS Teams, Word, Excel, Powerpoint...while still being able to write code is often the driver.
Depends on what you're having to do, but I often have better luck with just using Gitbash and VSCode and some amount of docker via Docker Desktop than I do with WSL.
There is one clear benefit when using windows: Hardware/Driver compatibility (or at least stable drivers for a much larger pool of hardware). So with WSL you get the Linux dev tooling while not having to worry about nVidia drivers or hybrid iGPU/dGPU issues.
>It's not clear to me what the benefit of this over just running Linux is though.
The benefit is running Windows itself because the user also wants to use other software that runs better on Windows. E.g. DHH mentions one example in Fortnite:
>, and did I mention you can actually play AAA games on the PC? That $2,349 Dell ships with an NVIDIA 4070, which is plenty of power to drive everything from Fortnite to Cyberpunk 2077.
Likewise, NVIDIA 4070 drivers worked on Windows before Linux.
If running Windows native software is the main use case, a "Windows machine running a guest Linux os" will be superior usability to the opposite scenario of a "Linux machine running guest Windows os".
WSL is so buggy it's hilarious calling it "awesome". It's a hack and it manifests in various ways, often. You will become quite acquainted with "taskkill /f /im wsl.exe"
It's had many bumps in the road. Networking, VPNs, filesystem etc.
I'm trying to use it right now. "apt-get install dotnet-sdk-8.0" and the system is now totally unresponsive and commands are hanging. I have no idea what it's doing.
It's actually a great advert for native Linux. If your hardware works OK with Linux, run it, and put Windows in a VM if you really need Office/Power BI etc
(Hyper-V on the desktop is also a joke. The Ubuntu from the gallery (which I presumed would be properly designed, tested, QAd etc) had an issue installing the set up packages from apt. It was doing 1 every 5 minutes - maybe a networking bug or something. I gave up)
I just popped open WSL2 on my home desktop and ran "apt install dotnet-sdk-8.0" and it ran perfectly fine? It took maybe 10 seconds to install... 13 packages.
I started playing around with WSL1 shortly after it was released. Lady year, at a new employer (primarily a Windows based shop), I started using WSL2 daily. I have never had to manually kill the WSL process.
I wonder what's so different between our installations and systems to cause our experiences to be so different here.
Sorry, I didn't mean to imply that it was just you. I definitely believe you and others have the problems you do, we're talking about Microsoft software here.
Same experience here. I've used WSL2 as a daily driver for work for 2 years now. It feels so close to being "awesome," but the rough edges are maddening. The issues are slowly being addressed, but I still can't recommend any use it over native Linux - at least for a work machine that you don't have full control over.
There's a lot to like about Windows technology-wise but then come Microsoft's marketing and advertisement departments and completely ruin the experience.
OT: I was curious what the "All Hallow's Eve" TextMate theme looked like[0]. I don't find it particularly pleasing but perhaps the high contrast is functional in more environments. I couldn't resist checkout an incidental theme or coding font.
In my org, we don't have access to WSL. All I have from "linuxy" things is bash from git installation and few other tools git includes. Not very fresh git. But that limiting factor of my org.
The problem I ran into most using windows, which I never had in macOS - inability sometimes to copy into clipboard, or paste from clipboard: pressing ctrl+c does not change clipboard to the currently selected text in VSCode, I have to press ctrl+c three four times before clipboard changes. I recall having to do this 15+ years ago, but why this is happening is mystery.
Another problem, if I restart my laptop when it connected to 1080p monitor, and then connect it to 4k monitor at home, some apps will not support HiDPI resolution and will show up in tiny font (PuTTY hell)... so no, it is not awesome. It is horrible. Was, is and always will.
WSL wasn't an option for development on my windows machine for my current client. Even then, I was surprised at how close I was able to get my powershell command line environment to my MacOS one by using exe versions of common linux executables like rg, less, fzf, and vim.
My latest idea is that developers should use comparatively low-end machines to stop the death spiral of ever increasing system requirements for end users.
Well, my Ubuntu with https://vscodium.com/ is certainly much better for web development than fucking windows. I boot windows only for gaming. I detest their spyware adware OS. Furthermore, I detest "99% open source with 1% bullshit on top of it" products like Chrome and VScode. I will never use the official versions of such programs. I use Brave to use Blink/Chromium, it also has the benefit of not suffering from the v3 manifest bullshit they pulled to attack and weaken Adblockers.
WSL is cool and all, but why deal with all the quirks and issue that come with it, why learn how it works and all the limitations ... when you can just have it all natively the way it was invented and supposed to work?
What quirks and issues have you run into with WSL? I use WSL2 and since it’s Ubuntu running under the Microsoft hypervisor, it feels pretty native to me. I believe Windows itself is also running under the hypervisor.
WSL2 has memory issues, if you for example use vscode and docker, in a wsl context, and don’t restart your machine weekly, you will likely see that vmmem is using a ridiculous amount of memory and doesn’t release it.
The relatively recent auto-shrinking volumes are also not always working in my experience.
I’ve also experienced networking issues in the past, either names wouldn’t resolve for some time, or hosts would be unreachable. If you look around you will find multiple GitHub issues for it.
I’ve been a heavy user of WSL 1 and 2 since a while now, it’s a fantastic system, but you will likely notice issues over time. Still worth it IMHO.
Well I like what Valve is doing with Proton, but all the fiddling around and the fact that Proton was designed ONLY for Steam games and does not really play well with other games SUCKS! Lutris has their WINE + DXVK and stuff and removed Proton as a runtime for this reason. There still is no good one-stop shop that "just works TM" for games on Linux.
And I like to play AAA games and would, lose performance in many cases on Linux, so I happily bite the sour apple to play the latest games easy and fast without any issues.
The gaming industry is so heavily focused on DX12 instead of natively building for Vulkan for some reason, even though this matter less and less with Wine/Proton getting better and better. It still makes more sense to me to just boot up Windows 11. It's a dream for me to one day delete my windows partition, and I think it will actually happen in my lifetime, just not in 2024.
So it's basically running Linux, as far as developer 'UI' goes? And desktops always outperform laptops, currently.
It's a shame Windows and Microsoft is so insufferable for everything else. And Macos hasn't really improved lately, in fact maybe the opposite, so there's that.
Just want to reply here with some actual critique, so that my comment doesn't just seem like an empty snipe.
WSL is at is heart a VM, and as good of a job as Microsoft has done at bolting it on coherently and applying all the caulk they could, it still feels like.
Sometimes it just randomly partially stops working, where I have a command prompt, but cannot access the filesystem from applications. Whether or not `wsl --shutdown` will fix it is also random.
The filesystem is not accessible to Search Everything, so any files I create in WSL I have to access through a special method, either through \\wsl$\ in Explorer (which itself is awkward) or using Total Commander (I prefer it, but it doesn't have OS integration, so if I need to put a file into a file selector dialog, it's an additional step of Copy Path and paste.)
There are still issues I run into through inconsistencies between Windows path with backslashes (which in GNU-land must be escaped as \\) and Unixy paths using slashes.
The system time gets desynced more often than not, so I actually have to have `sudo hwclock -s` in my .bashrc, which itself randomly works vs. doesn't work, and when it doesn't work, nothing short of a full system reboot seems to fix it.
Sometimes http://localhost:2784/ randomly stops working in Windows applications while still working in e.g. Firefox that runs in WSL.
This is just a few random things off the top of my head, but there are many, many more issues I run into day-to-day. And all I'm doing is a simple web server, Git repo, and IntelliJ. I don't even run a database server, because I use SQLite for that.
It works, but it's hardly awesome.
You may ask why I don't just install GNU/Linux on this laptop. Initially, that was the plan, but I realized that so many people out there use Windows, I need to bear through this myself for a while so that I am on the same page, and so that my software can run on Windows and WSL. But coming from Mac, it certainly feels like a bit of the ol' Harrison Bergeron sashweights.
(My recycling salvage 8-year-old Mac was somehow fast enough that I could do all my work in a GNU/Linux VM and have a clean separation between my desktop and my workstation.)
...or you can just use the real thing and not to deal with bloatware, constant resetting your settings (especially privacy-related ones) and other mistreatments.
How do people cope with the lack of cmd key in Windows? I like Windows but whenever I have to use it and open a terminal I keep killing processes with Ctrl + C. This was the case when I was extensively using Windows, too. Do you map it to something else or are you just used to using Ctrl+Shift combos?
Terminal emulator windows shouldn't pass C-C to the apps if you have a selection active. (The old school cmd.exe even helpfully pauses the whole process if you have a selection active, no doubt causing millions of dollars of losses when people do this by mistake and don't know how to fix it.)
it is, MS care about keeping people on windows, even through it sometimes doesn't look like it
That was the idea of WSL after Microsoft realized they kind had lost the server wars (if you want to call them that) and people in science degrees frequently ended up using Linux, too (not just STEM but also others, e.g. Linguistics):
make it so that people which normally might have tried out Linux because they use tools which are Linux first don't have to try it out and in turn might never notice that it has become fairly usable for a lot of use-cases even for non tech enthusiasts
but they love Linux sure, and they surely didn't do anything to make it harder to install Linux on new system in recent times like trying to convince vendors to not ship the 3rd party certificate needed to install linux with secure boot enabled
similar for VSCode, MS realized there are huge groups of people they will never convince to use VisualStudio so they made a IDE just for them, even open source
and then increasingly adds more and more MS proprietary extensions they believe are long term essential for productive using it
but sure MS has changed and definitely isn't having any bad idea like Embrace, extend, and extinguish anymore ... or maybe they just realized they need to be a bit more soft with their approach and care a bit more about image
anyway I'm (actually, not sarcastically) sure a lot MS Dev, including such involved in this projects, acted only with best intention not having EEE or anything like that in mind
problem is huge companies like MS are in the end committed to abuse their power as much as they can get away with
which currently means playing somewhat nicely and embracing competition ... for now