loading...

Why Windows gets all the hate... And why I still prefer to use it

rashil2000 profile image Rashil Gandhi Updated on ・6 min read

Let's clear one thing first. I use Windows 10 as a daily driver. Go ahead, judge me all you want, but I'm just too lazy to give up my comfort of state of the art software and ease of use. I've used on Ubuntu and Kali Linux on and often too, to be fair.

Now, the article. I was partly inspired by Tom Scott's video Why You Can't Name A File CON In Windows. The Windows operating system gets a ton of hate from the developer community nowadays, and this is an attempt to understand why. Key complains have always included sluggish performance and inconsistent user interface. As a bullet point, this article primarily talks about software compatibility that is available out of the box.

TL;DR

Two words: backwards compatibility.

Why the hate

Microsoft has been extremely adamant about making its OS backward compatible, with all sorts programs written for it, ever. The reason why we still see legacy applications and user interfaces is that somewhere in the world someone is still using them, while being on the latest version of the OS. As expected from this approach, the OS (or its newer versions) are never really completely rewritten, because, well, the old programs would stop working then. This inevitably leads to the base OS installation being overly clunky in terms of source code, as each new version builds on top of the legacy codebase, and never really replaces it. This is quite understandable from Microsoft's perspective, as most of it's business comes from enterprise solutions where each single user companies have thousands of machines to use, and keeping them up to date isn't feasible on this scale. For instance, my dad's offices still use the enterprise version of Windows 7, and they just don't see the need for upgrading. It goes on with the popular saying:

If it ain't broke, don't fix it.

Windows 7 was much beloved, and it was supported for almost 11 years as a result of this usage. Now, don't get me wrong, but Linux and MacOS usually don't support applications for that long. By contrast, LTS versions of RHEL last around 9 years, and those of Ubuntu last 5 years. In Linux's case, it is very much understandable, it's source code is clean and free from clunk, and that is how it manages to be extremely lightweight and hence efficient for it's use case. It stays minimal and you can install/configure stuff based on your requirements. The other day I was having trouble running a .deb package meant for Ubuntu 18.04 on Ubuntu 20.04, and it failed to install. It wasn't a big deal, there were some missing dependencies and it was sorted out in a matter of 15 minutes. A friend of mine had similar problems with some Python installation. On the other hand, I was looking for a niche application to execute a script on Windows, and I stumbled upon an .exe on the internet that was written in, well, 1999. And it ran. Just ran and did it's job, nothing else. And for MacOS's case, I'll let Tom from the video do the talking, "Good luck running apps/OSes more than 3 years old on a Mac".

From a technical perspective, Windows separates concerns for compatibilty by having some built-in layers, and these are Virtual DOS machines (particularly the OS/2 MVDM and the NTVDM), Windows on Windows and WoW64.

In software engineering, a compatibility layer is an interface that allows binaries for a legacy or foreign system to run on a host system. This translates system calls for the foreign system into native system calls for the host system.

Most of these are implemented using dynamically-linked libraries (.dll as popularly known). For those curious, they can be found in the C:\WINDOWS directory. In recent times, Microsoft has been putting more efforts into streamlining it's UI and making things uniform, but all of this presents an understandable burden.

Why I use it

I've always been a design guy and I really like the Fluent Design language, and the subsequent turns Microsoft is making in the UI. It is open-source and extremely well-documented. I have a somewhat beefy machine so OS lagging is a non-existant issue, and yes I agree I might be biased in this regard as a result. Usage of certain software like Photoshop, Premiere Pro, AutoCAD, FL Studio, Visual Studio, SketchUp, Office apps etc. has kept me from using Linux full time. Most of my coding work consists of writing JavaScript, and I make extra efforts to use open-source tools wherever possible. I have included a list in the end for interested folks. I also have a basic GitHub repository, Fluent-Customization, for setting up and customizing workflows.

The following is a (incomplete) list of nifty little things that are available by default, in no particular order, and can decide between making or breaking a normal day. In my experience, almost all of these things require at least a commandline install or manual configuration in Linux distros. For MacOS, I can't really say, as I haven't used it personally.

  • Installing and managing multiple fonts through GUI
  • Taking screenshots and screencaptures
  • Scheduling tasks using GUI
  • Managing user and system environment variables conveniently through GUI
  • Manage windows and virtual desktops fluidly
  • Phone calls and text messages
  • Sharing content and web pages on PC instantly through the Your Phone app
  • Projecting wirelessly
  • Making 3D renders
  • Editing images and videos
  • Unified touch and keyboard-mouse UI
  • Taking Sticky notes on the go
  • Doodle on the screen while working at the same time
  • Slick Notification and Action Centre with Focus Assist keep annoying notifications away while working, but display them when required
  • Intuitive Settings and Control Panel interface
  • Thousands of apps and games on the Store
  • Daily rotating images on the lockscreen and browser homepage
  • Separate keyboard shortcuts to access quick settings like Multi-monitor setups, Night light, Magnifier, Invert Colours, Language Switch, Emoticons, American Sign Language (ASL) and VPN
  • Battery management profiles that can be used to customize usage and generate reports on the fly
  • Touchpad gestures for multitasking
  • PowerShell, an extremely advanced shell and scripting language and more than an alternative to good old CMD
  • Decent chatbot and text-to-speech/speak-to-type through Cortana
  • State-of-the-art Terminal with tons of customizable options and configurations
  • An easy-to-use package manager, winget, that automatically syncs with native Programs and Features
  • Sign In protection using fingerprint, iris scan and facial recognition
  • Sufficiently advanced antivirus and malware tracker, Defender Securtiy, eliminating the need for third-party applications and subscriptions
  • Support for building desktop apps and games using Visual Studio, integrates really well with Unreal Engine and Unity 3D
  • ...

Another compatibilty layer, called the Windows Subsystem for Linux (or WSL) that runs the Linux kernel natively without virtualization, has been in the works for the past few years. Latest updates to WSL have somewhat eliminated need for dual-boots (well, dual-boots for those who used Windows primarily, not the other way round).

Sources

Links to OSS I use

Edit:

Some people might have interpreted it such, partly due to my mistake owing probably to the language. I did not intend to do a Linux vs Windows comparison myself, I just wanted this post to reflect on what Windows has historically been doing wrong/incorrect/annoying, and include my personal experience as well. I do not intend to convert people out there, that would be stupid. Thanks for pointing this out!

Posted on by:

rashil2000 profile

Rashil Gandhi

@rashil2000

Uncaught ReferenceError: 'bio' not defined

Discussion

markdown guide
 

Foreword, this is a mouthful of observations across this post 🤐

Edit: apparently there is at least one person that interpreted this as a Windows flame post, it's not. Just as a sysadmin starting from Red Hat Linux, Solaris, and Windows Server 2003, and a now a developer who has worked across Windows 7 and 10 as well as had the opportunity to flash my own device with Linux, I wanted to bring attention to some points I didn't find necessarily correct. This is not a Linux > Windows response, I don't think Linux is the Messiah of computing, and Windows beats Linux in a number of ways as well. Please be nice here, and again kudos to the author for writing up what makes their experience on Windows great 👏

Windows 7 was supported for so long because Microsoft did such a poor job of iterating upon it. Windows 8 and Windows 8.1 were so poorly accepted by consumers that they were killed around the same time as Windows 7, and really they just wanted to move on to 10 (where did 9 go?). It also took a very short time for 10 to overtake 8/8.1 in this regard because they finally did a better job. 10 is just way better in most regards, save for some of forced updates and consumer editions having privacy issues out of the box.

On another point, support of a single OS for a long time doesn't indicate backwards compatibility. I have friends who still use Windows 7 because they actually broke their compilation process on newer versions.

Statically linked executables universally have no issue running on Windows, macOS X, or Linux, given the same CPU architecture. Linux still supports 32-bit as well. If you do an apples-to-apples comparison, dynamically linked Windows executables wouldn't fair well today either. Though, I will say the pattern around dynamically linking to system libraries for compiled applications is more common in the *nix space.

Hilariously enough, software designed to make Linux support legacy Windows applications like dosbox actually provide better backwards compatibility than Windows does.

There are a number of subjective opinions in your list too, such an "intuitive settings panel", which I would argue throw me for a spin every time I try to do something that used to be available and obvious in previous versions of Windows like managing audio or displays.

Saying Windows has a package manager but Linux doesn't is an ironic point at best. Linux was the origin of the package manager.

There are a number of those that are good points, but mostly towards the fact that the majority of popular consumer Linux distributions won't include software that readily available for free in their "app store". Particularly the 3D renderer, voice-to-text, and game engines (of the examples you mentioned are also supported on Linux).

Unified touch UI and gestures I happen to use every day on an old Surface Pro 2 running Ubuntu 20.04, which was also bricked running a Windows 10 update. Keyboard shortcuts you mentioned also all exist, even the ones mapped specifically to the keyboard attachment for the SP2.

Another thing that you list that originated in Linux was virtual desktops, but we called them workspaces. Windows 10 finally got on board with that idea.

Most Linux distributions include tools around most of your points, like screenshots, photo editing, even phone integration on KDE Plasma with KDE Connect (also available for Windows 😉).

I'm gonna stop there because that's already a mouthful to type on a phone. I respect that Windows is a comfortable environment for you and that it works well for you, and I'm not even trying to convince you over one way here. I'm just pointing out areas that seem to be either unfair comparisons or false observations, which I assume you may not have known about Linux distributions today or historically speaking. WSL is also a really interesting piece of technology, and I'm glad you can get more of Linux's awesome tech running in the Windows world 😁

 

Hi @tcarrio !
100% agree with you on the part of Windows 8/8.1. They sucked ass.
On the point of comparisons, I said almost 'almost all of these', which meant one or two were obviously not something new that Windows offers. Package management is still in very early stages, and compares absolutely nothing with the great AUR and APT repositories. Virtual desktops is also one that's better implemented on Linux.

However, what you might have missed was the fact that I was talking about functionality that's available 'out of the box'. Some distros offer some features by default, other distros offer some other features by default. Of course everything possible can be done on all distros, but they usually require an installation either from the App stores or the commandline. Of course, not being available upfront isn't a deal breaker at all, because you can always install/use anything you want.

Thanks for your feedback, this was my first post in this forum. I appreciate your effort to take the time to read through all of it (I honestly thought it'd become boring at one point.)

 

For plenty of people the defaults of Windows is great, and there is certainly a number of suites that offer support that some people would rather work with than try to find some alternative as well. Linux can be a pain for people who enjoy the simplicity of a GUI as well, it's not something that is offered for just about everything like it is with Windows.

Also congratulations on your first post and welcome to the community 😁

 

There's far more in an out of the box Linux installation than there is in plain Windows. Windows is missing loads of stuff out the box!

Can you list some? There might be use cases I'm not aware of. If you're talking about languages such as python or cpp, I agree with you full on. There's a reason for this though. Linux is written in C, so including a compiler for it by default makes complete sense. The Windows equivalent for this is the .NET framework (it is pre-installed) which includes compilers for C# and some other languages.

MS Office is not included and costs extra.

MS Office is available with most laptops and PC's and is usually bought along with Windows as an add-on. You always have the option to use others such as GCloud or LibreOffice though.
On the other hand, LibreOffice is only installed by default on some distros (Ubuntu, Mint, etc). In my experience, on Kali and on Arch, it had to be manually installed.

I'm sorry, but that's a poor choice of distros to use for comparison.

Arch is a literal build-your-Linux distro, you have to install everything by default.

Kali Linux is not meant for consumer user, it includes a suite of security tooling.

Sure, I'll agree with that. Although the issue isn't distro specific, it is DE specific, to be precise. I was keeping myself from calling out specific distros.

Is an Office suite the only thing supposedly missing among the 'loads of stuff'?

Well if you bought a laptop with Linux preinstalled it too would likely have extra apps preinstalled. You need to compare like for like. MS Office trials annoy me, they often catch newbies out. On Windows I also have to scour the web for extra software for things like burning DVDs. On Linux K3B is either preinstalled or a couple of clicks away, and free.

There is a difference between a DE and a distro. Some distros do stay to the vanilla DE, but many provide extra software out of the box. Fedora for example stays very vanilla, Ubuntu does not.

@explodingwalrus I'm sorry but Windows includes burning tools by default in the Explorer itself. Windows Media Player also has the option to burn DVD's. If you don't like these tools, thousands of other tools are also a couple of clicks away, and free.

@tcarrio Yes, I'm aware of the difference, that's why I just wanted to point it out.

I did not intend to do a Linux vs Windows comparison myself, I just wanted this post to reflect on what Windows has historically been doing wrong/incorrect/annoying, and include my personal experience as well. I do not intend to convert people out there, that would be stupid. I've edited my post to include this message.

GNOME includes a disk mount and burn utility, and there's Brasero for burning media DVDs as well. It's not particularly difficult to add an app from the software center, and saying that Windows or Linux includes one thing out of box that the other doesn't when they're both pretty readily available is a waste of time.

This thread is sort of devolving really 😩

 
 

People uses linux for various reasons: Sense of control, to use some unfinished open source software, cheap servers OS option or free ones, "privacy" between commas because it doesn't exists except you disconnect the internet cable (in part), to use the "whole resources of the computer", people that squeeze the computer resources almost down to the break point, the ones that think they're hackers because they use Linux, or for a specific niche usage (scientific maybe), specific machines control, but people that actually work day by day in "common jobs" like Graphic Design, Programming, Education, they don't complain or complicate theyselves about things like this, they just use the tools they have in hand, people just choose the most used OS in the world, statistics don't lie (netmarketshare.com/operating-syste...) it has to be good to be used so widely.

Hi @metalicasc !

Yes, even the Stack Overflow Developer Survey peggs its usage at around 46%.

Stackoverflow itself uses Windows Server for their servers because of reliability and performance.

Please. There is nothing stack overflow does with Windows servers that isn't achieved by Linux servers on a daily basis.

Uh, I could agree about Graphic designers (although most of them are on Mac) but programmers!? Maybe .NET programmers :). Linux is a programmers heaven. I've been programming (and doing management work) on Windows since 3.1 till 8, and Linux after that. I feel liberated. My laptops feel much faster, I never got a desire to break the screen :)

I think StackOverflow stats above show it all. Windows developers are below 50%. Sounds a lot, still, but when you take your stats about global OS usage where Windows is 88% (also realistic) you ask yourself: how come that only 48% programmers program in (or for?) 88% market share OS? I think the answer is in structure of Win users. It's governments, unfortunately a lot of education where MS buys early adopters with benefits and free licences (only to hit them hard later), offices in non-tech industry with old habits and software, gamers and that's the majority of users of computers in general. But if you don't have developers on your platform, you'll never make it. The war between platforms (not just OSs) is the war to get developers onboard. Others will join later. And Linux is growing there constantly, for years. Mac too, but that's another story.

I have some classic office non-tech users onboard too. When I switched I installed Linux Mint to all their PCs too. About 5 PCs, to people never even heard about Linux. "Training" was a 15 minute one. They work happily for years now. No issues whatsoever. When you remove MS Office from your workflow, nobody complains about non-Windows OSs anymore. I'd say games and MS Office contribute over 50% to Widnows OS market share. I'm pretty sure Vulkan and Steam will change that realtively soon. Office? That will take much much longer. My kid in school still gets MS Word documents to work on, from teachers that never heard even of PDF. My water supply company requires MS Excel formatted report on water consumption, local government often too... OpenOffice, as good as it is, will not convert regular MS Word users easily. I think Google Docs, even MS Office online does much better job and will continue to do so.

 

Oh. One of those ;) Anyway, yes, I really hate Windows, it's not just that I dont like it. Why? I could talk all day but two things made me completely remove it from all PCs I owned and managed. Last Windows I liked were Win95. Windows 7 was ok. But when Windows 8 came out, its UI just shocked me. Spent days removing that touchscreen optimized stuff and other stuff that just made me inefficient at work. I kept up for a few weeks, but then 2nd biggest issue with Windows (for me) came up. Running to work, being late for a presentation, opening laptoo and bam... 10 minute update! Or being late at work, so also late for lunch home... Same thing, I do shutdown and then sit down for 10 mins looking at the wall, hungry. Yes, I'm one of those allways in a hurry, postponing updates till the last minute when Windows finally forces you to update and leaves you no choice. Well, it's my laptop, my Windows copy I payed for, hell even my company and network. If I want to postpone indefinitely I want to be able to.

 

Yeah, updates have been cumbersome for a really long time too. But latest version of Windows 10 allow you to schedule or defer them by choice. Of course that's no reason you should switch back to Windows. :)

 

;) I don't even follow Windows anymore. With all my AWS resources, Arduinos, Raspberry Pis, NAS servers, Android, etc... it just feels like a completely strange OS :) I installed Win10 6 months ago as second boot option as my kid has grown up and PC gaming is a thing :) Its hard to explain the feeling of doing it. As much as I disliked it before, it was 10 times worse now, after years of exclusive Linux (Mint) usage. I have several PCs to maintain for absolute non-tech familly members and emoloyees. My 76 year old father among them. There has been zero issues and not more than few hours per year on maintaining those, remotely. Completely uncomperable to times Windows were on those PCs. Just viruses and updates create 10x more work than that. And Im not some modern buzzword-follower or brand fanatic. My first Windows installed was Windows 3.1 (came on 13 3.5 inch diskettes back then) and first Linux was Slackware 3.

 

And i still find the nagging infuriating, always interrupting playing games. And when you do reboot for an update it feels like an eternity of not being able to use your machine, whereas in Linux you rarely need to reboot and all updates can be installed while you use the machine.

yes, infuriating was the word I was looking for :)

 

updates can be disabled using third party tools (found on internet), there was a custom start menu made by third parties (freeware), there are cheap Windows licenses on eBay (less than 10 usd)

 

You can do almost anything with any OS, with 3rd party stuff and some work. Bottom line is how much effort you want to spend on this, for every PC you manage. I don't want to work arround OS, I want to work with it.

I agree. But comfort is subjective. Working around and working with something can mean different things to different people. It's a matter of habit, getting used to, and most importantly, comfort again.

Agree too :) But since I'm one of the older here (in IT since 1985) let me add that it also changes over time. Long are passed days when every new Windows (or Linux) release was something to wait, spend weeks tweaking those, more than actually working :) After years, you appriciate more and more efficiency and out-of-the-box features. Tweaking becomes work, not fun. Your nerves become thinner. Im sure many of you will agree with me sooner or later. I know I would disagree with today-myself 20 years ago :)

 

more stable tools are released for windows, also you can run linux tools now on windows by using WSL

"if you can't beat them, join them" :) I'm so glad Steve Ballmer is out of MS. Things are looking better now than with Windows 8. We have MS VSCode that won over Sublime. We have WSL so Windows OS developers don't have to have second boot option with Linux (and be too tempted to delete the first one after using it).
But... "more stable tools"? "Stability" is the last word I'd use to describe Windows, at least in dev world and outside of .NET. And... WSL is more for people that are somehow forced to use Windows, but to suggest WSL on WIndows to a Linux developer with node/react stack? That would feel a bit mazohistic.

@psiho I'd like to put a question here. I am currently exploring the MERN stack and I have decent experience in React. What exactly are the shortcomings of using node/react stack on Windows? I'm curious to know upfront so that I don't run into problems later. In my opinion, all languages and related tools' experiences like Python/pip, Node/npm, Ruby/gem are completely platform-agnostic (except C++ maybe).

I was going to ask the same thing. Unless there’s some awesome IDE I can’t fathom what difference it could make to develop with a JavaScript framework on windows, Linux, or Mac.

@neweyc There is one. It's called Visual Studio (available for both Windows and Mac). But developers (of any language/stack) are obviously doing just fine without it too.

@psiho Almost all popular WebDev YouTube channels (Traversy Media, The Net Ninja, to name a couple) use Windows because Web Development is as breeze on it as it is on any other OS. They probably use Windows because it has better streaming support (due to gaming environment and all).

Im not the best person to ask that Q. I switched to Linux before WSL. I've never found any reason to switch back or investigate. All info about that are from 2nd hand, people I know, their issues or success. I never said Windows is bad for development, of any stack. I was just replying to a claim that windows "has more stable tools" and WSL suggestion to me (obviosely a Linux users for years which was stated in the post replied to) and said that would be mazohistic for users like me. Im on Linux full time since before WSL, and part time (home PC) since times Node did not have native Windows version. So for loads of stuff u mention today, Linux (and often Mac) was "home". Stuff completely and seamlesly integrated into OS, Open Source and everyday tools I used on that PC that might have nothing to do with dev work. It was never a "layer" there, but core. From that perspective I guess you can understand why people like me are probably never going back unless Linux community really does something bad, like Windows 8 was when I switched.
WebDev YouTube channels are not a measure of anything. Its a niche. I guess videoediting is the resaon, not necessarily the dev environment. People like Premier and tools like that. Don't really know why, Davinci Resolve in my opinion is now better both on Win and Linux. I use it to make 4K videos from my drone. On AMD grafics which has native kernel drivers for linux.
But anyway, Im not saying Windows is bad as dev environment, at least not after Ballmer era. In my opinion he almost ruined MS. Im glad to see Azure, VSCode for Linux, WSL and MS opening up. But for somebody switched long time ago, there are really no reasons to go back. I leave it for you fresh devs to discuss about reasons for those considering both OSes today. I just dont knoe about Win enough anymore.

 

You talk about backwards compatibility on Windows and yet your example was a deb file, you were too lazy to see if there was a newer version either in a repository or there might be the source to use. How about this as an example, You can still use a Star 24 daisy wheel printer on Linux but Windows abandoned it at XP, iirc. Certainly won't work on 7, 8 or 10.

 

It was the latest version of the deb file. It's available on GitHub. github.com/PowerShell/Powershell
I have no problems with building from source, but that's an extra step, right?

 

I just checked, it's in the repos - Why did you use try to install the deb when it's in the repositories?

It's not available for 20.04. So I tried using the 18.04 version deb. Isn't that something one normally does?

 

how many people uses a Star 24 daisy wheel printer? I bet less than 1 billion

 

I know, that was an extreme example, but there are many other more recent hardware that stopped working.

 

I went through your list and except for a few things like 3D renders and stuff, most modern DEs like KDE or Gnome can do all of those stuff out of the box. Plus the default goto applications for stuff thare are not available out of the box are much better than what microsoft offers built-in. KDE Connect for example has been around longer than Your Phone and does many things much better.

I am writing this on a really new (Ryzen 4000 based) convertable and while windows has been pushing convertables and hybrids for a while I was shocked (even as a linux-loving person) to find out just how much better gnome is with convertables. The fact that i had to switch to change volumes or resort to random gestures that barely work is telling how polished gnome desktop is compared to windows.

Even stuff like fingerprint signin works out of the box with most distros now granted you have a supported fprint reader. (cough goodix cough)

An easy-to-use package manager, winget, that automatically syncs with native Programs and Features

I'm not quite sure what you mean by that sentence exactly but linux is the home of package managers. If you mean a GUI then look at Gnome Software or pamac. Both are really good GUI package managers and faster than windows store.

For powershell, while i do like their everything is an object with multiple values, im not onboard with their verb-noun style of commands. Also for me personally, Linux/nix terminals are just more familiar.

I read your reply to Tom below but heres my point of view - Windows does include a lot by default but more often than not you end up using third party tools anyways, if youre installing windows you will likely go through the bulk installing all the apps you need (browser, graphics and chipset drivers, etc. unless youre fine with basic WHQL drivers that is.) so why not install apps you need on linux.

IMO this is the reason windows has so many issues, it tries to do everything for everyone and we end up with an OS that doest work completely for everyone. Ubuntu has the same exact issue but is much smaller in scale. It tries to be THE LINUX DISTRO and fails.

 

I really like the perspective you offer in the last lines. Pleasing everyone just isn't possible. I'm glad that everyone has a choice to use whatever they like and use on their personal computers/laptops, unlike on mobiles where you're stuck with mostly proprietary OSes (Google's Android and Apple's iOS). The computer world is much better nowadays in terms of options.

 

I'm a Linux lover and I use windows as my main os, some tools I use for my daily work works better on windows (webstorm) or does not exist in Linux (fork), so, I use what it makes my day more comfortable, ignoring the hate.

 

Yes, I'm with you on that one. Tools like Wireshark, Metasploit and frameworks like Redis are better implemented on Linux, so I use Linux for that. Otherwise I use Windows. I was just not on board with the hate people got for using systems they're comfortable with.

 

Yep. I’ve never understood os flame wars. It’s just a means to run software.

 

Windows user here, sending some love <3 anyway I hate mac OS the updates suck the ui is useless and has the feeling of the gradienty websites from 10 years back, windows runs faster on my mac mini then mac OS, and Win ui - fluent are just really nice. WSL has all I missed through the years.

 

I both agree and disagree with your post (as I suspect do most of the others). I find myself in a similar situation where my daily driver(s) are all Windows except one laptop on which I run Pop_Os! I enjoy the comfort and general compatibility of Windows while I almost exclusively develop using open source tools and languages, in fact I never really got into much C# or .NET. All of my servers run Linux and some days it feels like I just use Windows to run PuTTY and remote into them, which is ironic... BUT... I consider myself a pragmatist, while I'm a big fan and supporter of open source I don't always share the fanatism of some die-hard foss loyalists. I believe ultimately everyone has to find the right tools for their workflow. Windows has a generally more stable desktop environment that makes it (for me) better suited as a day to day os, Linux on the other hand offers levels of customization that cover any use case and configuration types you can think of which (always in my opinion) makes it more suited as a server. That said, Pop_Os! Happens to have almost all of the features you mentioned installed out of the box and has the most stable DE I've used so far on any distro. Give it a try.

 

Hi @tonymorello
Yes, I too believe everyone has to find their own comfort and workflow.
It is universally known that when it comes to core customizations, Linux is king. Thanks for suggesting Pop_Os! I have heard good things about it too, I'll sure give it a try

 

First, welcome! This is a brave entry to a public forum :)

I note that most comments here are from a consumer viewpoint, with much use of us/them separating two groups, those who provide the tools and those who use them. In a closed source world this is clearly true, however in the open source world you are free to remove that boundary. This is the critical feature of Linux and other open source tools for me, when things inevitably break I remain in control, I can debug, report issues, sometimes fix and send a PR.

I also find there is a mindset / ethos difference in the communities around Windows and other commercial software, and open source, one works towards the money, the other towards happy people and excellence in engineering. This is why we have one way of working with Windows, the Microsoft way, but many distributions of Linux, some focused on reliability, some on new features. Personally I choose Debian for my daily driver, working with .NET codebases, deploying to AWS and Azure, other team members use Windows and WSL. Each to their own.

I agree with another comment that Windows attempts jack of all trades, and often suffers as a result.

I am very glad to see Microsoft finally getting the open source thing, and note that they are doing their best to help people off of Windows, it's not where the money is now, that's in azure, running an awful lot of Linux :)

 

I tried for a while to use windows as my core for programming as well, but to me it just fell short in too many areas.

I loved it at first, it felt like I was at home with some sort of nostalgic feeling, perhaps from using it when I was gaming as a teenager so much. But after I tried and tried with WSL (1 and 2), I found myself spending as much time as people complain you have to spend with Linux to get up and running, just to have a sub-par solution on Windows.

I don't hate it as an operating system, but for me it has it's use cases - and that's not my works web development.

For the record, one of the things that bugged me the most when I started to use WSL was that on the insider version you're forced to opt-in to updates, and all sort of security pieces which just slowed down my computer 10 fold. Every time I'd turn it on I felt like it was going full blast to update some small feature, which undoubtedly would break my WSL and I'd lose my work (This happened twice, and I've got an open issue on github for it)

 

Isn't that the point of Insider versions? They specifically warn you about the crashes and instability, many times. I have always used the stable rings and WSL has never really caused any problems for me. I used it with VSCode and it worked like it was supposed to.
Although I've recently started foraying into Web Dev as well and I don't use WSL at all. Node and NPM work really well natively.

 

Yes - except I can't currently use WSL without the insider version, so I'm stuck from that perspective. Maybe I'll try again when it's a full release, but for now I'm too happy with my current setup.

 

So you’re having issues doing web development in windows? Why? Why would you need to use wsl for that?

 

I'll point out some outdated information. None of the tasks mentioned except Cortana, face ID sign-in and daily rotating wallpapers, would require you to use the terminal on a Linux machine.

In my 8 years of Linux usage, I hardly ever had to use terminal to install non-developer software, configure my system in a standard way (unless I really want to fiddle with CPU scheduling or xorg configurations or udev rules) or doing developer tasks.

Until build 2004 windows 10 didn't support ANSI colors or tabbed terminals properly. Windows terminal is still far far behind all what I can do using tilix or iterm. Talking about sleek terminal is an exaggeration. And until powershell has decent auto completion of auto-suggestions, it still can't compare to a zsh running on whatever VTE you have

 

What distro do you use?
24-bit colors and tabbed window terminals have existed in Windows Terminal release since its first version, it has nothing to do with the version of Windows.
PowerShell has command completions from the beginning, you just need to configure your keybindings for it. If you don't know how, check out the wiki of PSReadline module on GitHub, it's installed by default.

 

Didn't know the PSReadline module came nowadays by default. That's an improvement

I use Fedora. ElementaryOS on a different machine.

Sure, happy to help. PSReadline module has been a part of PowerShell since v3.0, which was released in 2012.
What DE do you use in Fedora?

 

I really love all OSes. Used Windows for ages because work. Used Mac and Linux at home. Can pretty much do anything on any OS.

Here's what I hate about Win10. While we all got used the simplicity of the control panel, they've decided to add all the new gui. Now you have duplicated gui for everything is quite confusing. Want to remove a program, search gives you the new gui, really wish they could let you choose instead of making layers upon layers. I don't care much about the Windows Store, I'd much rather use package managers. I really just got so used to win7 (decades using it), win10 did an awful job of keeping a consistent gui, but hey glad they kept a start menu on this one. (Win8 joke).

Regarding installs on 20.04 vs 18.04 that's not the OS fault they removed outdated/vulnerable packages from 20.04 repos. Package and application owners should be recompiling with latest dependencies. Even on Win10 this is a thing developers often have to change their exes to work from win7 to win10. Some even have multiple versions of the exe/installers.

 

Exactly! People need to accept the fact that folks can like and use multiple OSes. I have used Kali Linux nicely, and it’s great at what it does. XFCE's UI is minimal and lightweight and perfect for its use case.

I understand that apart from keeping installations light and free from legacy code, security also plays an important role when deciding/working towards backward compatibility.

 

I use windows for gaming. And switch to Mac for programming. I can't do ios dev in Windows. That's my case of switching from windows.

 

That is completely understandable!

 

Another point to add to your list:
Windows has a GUI for managing environment variables out of the box. As a programmer it always annoys me that Mac (and most Linux distros) don't

 

Thanks, I totally missed that point! I've added it in the list. :)