Windows is still, to some extent, full of magic and dragons underneath... and while they're doing an increasingly good job at hiding it, it does occasionally bite you in the arse. But Windows has on the whole become a competent development environment that works very well with almost any kind of development workload - with the exception of native iOS and MacOS. Also GPU accelerated ML on Windows is still kind of sketchy.
For a dedicated backend application development desktop, I still prefer Linux. But hardware support is generally better on Windows, plus you have access to Adobe Creative Suite, better colour management, better graphics drivers, etc. and there are types of development that just aren't practical on Linux, such as 3D games, Excel add-ons, VSTs and lots of proprietary embedded development platforms don't support anything other than Windows.
On the other hand, .NET development nowadays is just as easy on MacOS, Windows and Linux.
There’s other things that annoy me like typing latency, apt taking forever to run, an awful terminal emulator with basically no customization, copy and paste often just does not work. It’s really so frustrating.
You absolutely can, I do it all the time. For example, you shift-click your desktop, click "Open Linux shell here" and run imagemagick or ffmpeg to your heart's content.
You can alias subl to your Windows sublime install and then subl ~/whatever will work as expected.
I don't experience any of your other problems. Apt is very quick, copy and paste works fine, typing latency seems lower than Linux (but I do have a 144hz G-sync monitor). I agree that Windows Terminal is a bit spartan, but I was never one for excessive terminal customisation on Linux either so it doesn't really bother me, I guess.
The reason I prefer it to MacOS is that it is actually a real Linux kernel with all the trimmings - such as apt, docker, eBPF etc. My recent experience on MacOS is that every update seems to break Brew, which, while better than MacPorts, doesn't even work all that well to begin with. MacOS is a weird BSD with poorly documented closed source system components such as launchd. If that's your thing, it's fine - but I personally find the Mac/BSD userspace unpleasant to work with and am tired of fighting against it every time Apple decide to break my attempts to make it more tolerable.
Versus a VM it's less clear, but the integration is actually fairly good, each of your WSL2 "distros" start instantly, you can launch them to the current directory in Explorer or use them from Windows Terminal without SSHing. For the most part, it _feels_ like Ubuntu is just a part of Windows.
My workflow with WSL2 is that I keep most of my repos in the Windows desktop and use Windows versions of JetBrains' IDEs or VSCode for most of my work, but then I use WSL for docker/kubernetes, running CLI-oriented things like vim, ffmpeg, imagemagick, shell scripts, python, terraform, etc.
Plus, I have a Ryzen 5950X with 128GB memory, which isn't strictly a limitation of MacOS, but it certainly makes my life a lot better!
There are a few edge cases that are tricky (for instance you can’t register a batch script in WSL2 as a file association handler) but for the most part it’s pretty smooth.
Windows has incredibly good keyboard shortcut support. A small example, the context/menu key on keyboards is the equivalent of right clicking wherever the cursor is at, making spellchecking as I type super easy, I'm sure MacOS has some meta-combo that does this, but over 20 years ago Microsoft made this tiny piece of accessibility a first class citizen on their platform by starting a certification process for keyboards that included such a key.
Windows has non-borked external monitor support, unlike a slew of MacOS machines. (See, every thread on HN where some subset of people report problems with external monitors).
Windows has insane hardware support, buy whatever upgrade is on sale today, throw it in your machine, and odds are it'll just work.
Speaking of insane hardware support, my current Windows install has switched motherboards and CPUs multiple times. Pop the SSD into a new computer, boot, wait a few minutes for the OS to setup proper drivers, and off I go.
The UI is a first class citizen, not an afterthought. At no point do I have to wonder if my setup supports screen sharing.
Its media pipeline is pretty darn powerful. Per app volume control rocks, but the entire media stack can be rerouted, split, and merged, in all sorts of fun and cool ways.
The clipboard works. really well. I have actually seen the source code to the clipboard in Windows, a lot of engineering effort has gone into making it work that well.
Apps don't randomly stop working because I upgrade. Major UI utilities that reach deep into the system that I started using on Windows 7 work just fine today.
Do I have complaints about Windows? Of course. IMHO it has gotten way to large, back in Windows 2k and even the Windows 7 days, the # of background processes on a clean install was a fraction of what they are today. My start menu only opens up every other time I click it (...). And as with every other OS, reliability has gone down over the years.
But Windows isn't some half forgotten wasteland. It is the single most popular desktop OS, and for over a decade it was also the single most popular development platform.
Would I do docker based development on bare Windows? No, but I've done Android and Web development quite happily on Windows.
For reference, I have done C/C++ dev on Linux, and right now I use both MacOS and Windows for dev.
yeah and they are all scarcely documented and basically impossible to discover. you just randomly come across them on obscure 00's era PHP forums, there's no big comprehensive list of them somewhere.
I can run Debian or Ubuntu for weeks, even months, without rebooting. I can barely run Windows for a day or two without rebooting.
Others have mentioned the maddening and massive updates that happen frequently, and the weird application crashes and poor performance.
Windows has some cool stuff, like Powershell and .Net, but it’s otherwise too painful to use unless I absolutely must (which happens more often than I’d like these days, despite going 5 years without using windows at one point). Plus, Powershell and .Net are more readily available on Linux.
> If this is actually true, there is something seriously wrong with your install
This is the problem. It's very easy for stuff to go wrong with a Windows install. They deteriorate w/time. Why do you think so many times we end up just re-formatting a family member's machine? I've had to do that many times, even when malware wasn't an issue.
I've never hard to reformat a Linux machine for such issues, even though I've been primarily on Linux for well over a decade.
None of the 3 Windows machines in my house reboot other than for monthly updates.
Actually, if you count my Xbox as "running Windows", I do have to reboot that slightly more often than once a month!
But seriously, now days a PC is a front end for a web browser, steam games, Adobe suite, and Office.
My current Win10 install started off as a Windows 8 install many years back.
Something is wrong here. I run Windows 10 for weeks at a time without rebooting. I'm typing this reply out on a Windows 10 workstation that has been up for ten days without a single issue.
Probably part of the problem is that I only use Windows every 1-2 months, and then when I do start it up, it spins the fan for an hour downloading and installing updates.
That said, I really do end up with many, many more issues on Windows than on Linux. For example, I just yesterday had - out of the blue! - some Visual C++ Redistributable to suddenly go missing, and not able to open up Visual Studio Code (I'm mentoring some students who use Windows). I had used Visual Studio fine on that computer multiple times, and had never touched any of the system folders. No idea what happened to the missing library. I re-installed it and it was fine.
I end up helping family members who come to me with mysterious Windows problems. Often the problem is just that the OS has slowed down over a year or two of normal use. I've tried registry cleaners, and they sometimes help a bit, but the only real success I've had in those situations is saving their personal folder and re-installing the OS. Sometimes there is evidence of malware on their computer, but often there is not.
Never had things like that happen on Linux. Nor on OSX/MacOS. Windows just doesn't strike me as a reliable system. And that's not even bringing up the resource requirements for running Windows - I can easily run Linux on machines that could no longer run Windows without running into massive performance issues.
This isn't some pathological Microsoft hatred: I'm favorably impressed with Visual Studio Code, with Powershell, with C#, with F#, with Typescript. I'm just not impressed with Windows as an operating system. It did get more reliable after the moved the the NT kernel, but still not half as reliable as MacOS or Linux.
And, there's a downside to Linux, which is hardware compatibility (although that's rarely as bad as Linux critics describe it).
Does Windows even allow to not reboot? I've heard that if you miss the update popup it will automatically do the update and reboot. And if you click "Remind me later" or whatever too many times it will just remove the button and force you to update. Did they fixed that or is it still doing that?
I guess no one remembers the days when the entire industry (re: Slashdot) yelled at Microsoft that they needed to stop letting users run around with ancient exploitable installs of Windows.
So, Microsoft forces important updates.
Fancier versions of Windows let you turn off most updates. Sev0 exploits, RCEs, and the like, well, those updates still get pushed down unless you have a corporate install with policies disabling all updates.
There is a trade off, and for decades (!!) Microsoft let users decide, but eventually "1/4 of Windows users just got their machine 0wned" showed up in the press too many times.
Kind of like how every time there is a widely installed Android malware app, Google gets blamed. "Why don't they enforce their policies!" Then soon as they do enforce their policies "The Android app store should just be a dumb distribution mechanism!"
I get it, different people expressing those sentiments (I hope...), but balancing "keeping people from having their bank accounts cleared out" vs "user choice" is not the easiest of decisions. After many years, MS has gone full force on the auto-updating side of the debate.
But back when Windows update had the option to disable updates, people who shouldn't (e.g. little Timmy setting up Gramp's machine) turned them off.
Then Microsoft got dragged through the mud, and grampa lost his retirement savings.
Back in the early 2000s, things were really bad. Going over to a non-geeks house, better than 50% chance to find malware, if they had broadband, good odds they were part of some sort of file drop for a warez group (or worse).
The issue now days comes that MS also pushes down feature updates, that is something that very valid objections to exist, especially with the dropping level of QA that exists throughout the industry today.
Just last week, I moved my laptop back to Windows from Ubuntu because it froze up on me at least a couple of times a day (and that is a XPS13 - a system which is supposedly built to run Linux).
I have been using Linux since kernel version 0.99 or something, so its not like I dont know my way around it. I just dont really care which OS I run. It just needs to get out of the way and work for me and not against me. Windows does a good enough job at that.
I haven't heard about this! Do you have a reference?
For audio.
I haven't done it with video streams in a long time, sorry. I do remember splitting audio off, changing it, and muxing it back together.
>obviously has never used Linux
U+1F923