DEV Community

Jason C. McDonald
Jason C. McDonald

Posted on

Windows and Linux: A Sane Discussion

Let's face it — neither Microsoft Windows nor Linux in its many distributions are the same as they were ten years ago. The face of the computing ecosystem has changed. The past few years especially have brought many surprises, not least of which included Microsoft's wholesale embracing of open source and the Linux community.

I think it's time we reopened the conversation about Windows vs. Linux. What's working? What's not? What factors go into choosing one over the other?

I think @shadowjonathan made a very good point in response to @kailyons's decision to archive his posts surrounding this very topic...

I haven't even looked into the comments, your articles were already clear enough and much of a statement to make me start thinking what microsoft has going for them regarding windows, and besides its large velocity in user base, its mostly some key software vendors that keep supporting it as its sole target OS. Hell, microsoft themselves are starting to provide their services on linux.

But yeah, the internet is the internet, and I think your statement attracted way too many people for it to always go right, I can't say im surprised, but i'm also a bit disappointed, since there should be legitimate conversation around this.

My apologies on behalf of the more shady and gollum-like parts of the internet, I'm curious what you'll write about next, I've already followed, I wish you good luck.

That got me thinking...THIS IS DEV! Not only do we have a moderation staff who cares, but we have a nifty little tool that allows authors to hide comments.


What are the pros and cons of Windows vs. Linux? What factors go into deciding to use one or the other?


Here's the rules:

  1. You can share your opinions and your technical views, in favor of Microsoft Windows, Linux, any other operating system, or both...but you MUST be polite!

  2. Disagreement isn't rude.

  3. Healthy debate is fine, but hostility, elitism, and ad hominem attacks are not.

  4. Unconstructive comments, even those that are "just shy" of violating community rules, WILL be hidden, and reported as needed.

  5. I also don't want to receive any argumentative or offensive DMs about this. Any such messages will be reported, and then summarily ignored.

  6. If you're concerned about getting attacked for your views, please DM your comment to me, and I'll post it anonymously on your behalf! (I will not post replies under most circumstances, only initial comments.)

Since I'm obviously the guy with the "hide posts" ability here, understand that I'm going to be more than a bit zealous about keeping this conversation safe for everyone, even the folks who have altogether opposite views from me. If your post gets hidden, move on.

Latest comments (54)

Collapse
 
mattcobley profile image
Matt Cobley

There are a lot of good arguments on both sides that I think have been covered by others on here, so I won't repeat them, but I would like to do two things: point you to a couple of links that I've found quite interesting on this subject (and I do love listening to opinions on this) and to represent those who maybe aren't having their views expressed here - I'll explain in a moment.

Firstly, there's a really good article on the idea of a Linux platform, and I think it really highlights some of the issues with developing software that targets Linux, and why maybe Linux has had a hard time getting more market share up until now on desktop (and will perhaps continue to do so to a degree until some of these issues are resolved). Sadly this is almost inherent in what Linux is and how it has come about, so I don't think there is a magic bullet (please read the article before commenting "use Flatpak/Snap/whatever"). It can be found here: blogs.gnome.org/tbernard/2019/12/0...

I do also enjoy the series of talks called "Why Linux sucks" (the title is tongue in cheek so don't spam me with hate) highlighting places that Linux could and maybe should fix sooner rather than later, despite it being excellent already in many ways, as you know.

What I would like to do mainly though is to highlight a number of users that aren't here. There's a lot of debate on Windows vs Linux on dev.to, Reddit, and all manner of places but they tend to give a very skewed view of opinion and it becomes a bit of an echo chamber, and I think this is often missed.

The truth is that there are lots of people out there who aren't that bothered which OS they use, and aren't interested in this sort of debate, more importantly. In terms of the devs I know and work with, there are plenty who know about Linux, but don't really care enough to use it regularly. They only use it when they need to, when it's dictated by a project, etc. The typical response to this kind of comment is usually something like "if you don't think it's great you aren't using it correctly" or something similar, but ultimately a lot of people just want to get something done and then move on without a) spending a long time get their OS set up b) having to find an alternative to X software or c) having to get some other hardware such as printers/wifi etc working on their laptop. Most people don't want to look for alternative software when the software they know already does what they want, and don't want to have to spend any time unnecessarily fixing issues that they wouldn't have had if they just used Windows. On one project I was working on recently I got in touch with the support team for the hosting platform that we were using because I thought I'd try using Linux for a change (the work was going to be using Scala and Apache Spark, so it made sense), and the VPN wouldn't connect despite my best efforts. They responded that they hadn't actually had anyone contact them before who was using Linux for development connecting to their environment, so I just used Windows again so that I didn't waste my or the company's time. The reality is that this is a very real situation in a lot of cases, where the developers go to work, do the development, but don't then spend their spare time in forums talking about their operating system (no disrespect to anyone here).

Me? I'm a Linux enthusiast. I love the elegance of the OS compared to Windows, and there are obvious advantages to the "freedom" that Linux allows, but I have an Office 365 subscription (it's good value for what you get) and despite having a dual boot laptop, I just usually end up booting up Windows and getting things done. I just generally find that in a lot of cases it's just quicker, and with kids in tow I have a lot less spare time than I used to and so the spare time that I do have I don't want to waste messing around with my OS. Are things perfect? No. I had an annoying BSOD a couple of weeks ago that was related to WSL2 and Docker, but I was able to contact Microsoft and found out that a patch had recently been released for it, so it's now gone away and I'm back doing things without issue. I keep checking out new Linux distro releases and checking if any of the desktop environments have managed to get to a state of "lightweight but doesn't look like something from the 90s" but none of them quite cut it for me personally. Linux is a great tool, and the obvious choice for servers, containers, and many other things, but for some it just isn't quite there for desktop even now, and so I don't begrudge anyone making the choice NOT to use it.

Hopefully that doesn't sound too negative. I love Linux, but wanted to provide a bit of pragmatic balance and another side to the argument(s). Windows is a bit of a hot mess, but has some very real positive qualities and isn't the awful OS that it is made out to be. If you made it this far... why? It's an OS, go and enjoy the rest of your day :-D

Collapse
 
shadowjonathan profile image
Jonathan de Jong

Somehow I didn't get any notification for this inclusion, and it's 2 AM over here, so I'll say this; thanks for creating a conversation out of this, this was a big surprise to me when I discovered mentions of this in my notifs, but it's also a great first impression of this platform for me, wow.

Collapse
 
bhupesh profile image
Bhupesh Varshney 👾

I will try to share negatives of each OS

Why I don't like Windows:

  • Its heavyweight, Will not run on low grade hardware (developers in countries who don't have access to powerful systems)

Why I don't like Linux based OSs:

  • No one way of creating & packaging a software that will run on every Distribution likewise.

Why I don't like Mac OS

  • Not tried it yet (cuz can't afford a costly system sooo....)
Collapse
 
codemouse92 profile image
Jason C. McDonald • Edited

No one way of creating & packaging a software that will run on every Distribution likewise.

So far, Appimage and Flatpak are pretty darn close; they run on every major distribution. Snapcraft too, to a point.

Collapse
 
tonyhicks20 profile image
Tony Hicks

I'm a .NET developer for the most part. I also play games. I've tried this on Linux and have had a good experience but found that I really missed Visual Studio and (many, not all) games still seem to be problematic on Linux.

I think Linux is a better operating system in general. It's so much lighter and more configurable than Windows and at least one can change the desktop environment if need be. I really don't understand what Microsoft has done with the UI in Windows 10. All the older (and more powerful) interfaces are there but often hidden and the newer ones sometimes have specific functionality for Windows 10 specific config that you need to use. It's just a bit of a mess if you ask me.

The command line in Linux is king. I've used PowerShell quite a bit but I still prefer bash. It's a much richer environment in that you have more tools, the syntax is less verbose and I just find it more intuitive.

Also, the support for Docker in Windows is there but I have had some issues since it's basically just starting up a Hyper-V instance in the background and then sending your commands remotely to it. After having installed and deleted a few containers on my old work PC, I ran into a problem that it completely filled up my hard drive with strange files and I had no permission to delete them... I managed to fix it, but I now install docker on my windows PC's with some trepidation because of it.

I've also noticed strange background processes on my PC. I'll be doing something quite trivial and I can hear my laptop going super saiyan (Fan gets really loud, CPU 100%). Whenever I open up task manager to see what it is, it's always a myriad of Windows services doing who knows what. I find that frustrating and it's happened on a few laptops. I swear, sometimes it even stops just after I open Task Manager...

As a server, if there are no issues with legacy applications, I would much rather use Linux. All the amazing tools like Docker and Kubernetes run natively and the OS itself is more performant.

I understand the hate that Microsoft got in the past. It made a lot of big mistakes in the industry but I guess they were one of the first software-driven corporations to have such a huge impact on the business world as they did, so mistakes were bound to be made. After all, software is a different type of business compared to traditional goods. They also did some unethical things, but what big corporation doesn't?
A lot of people still hate everything they make though which is a shame since they make a lot of really great stuff, for example:

  • Azure Devops
  • Visual Studio
  • VS Code
  • SQL Server
  • C#
  • .NET Core
  • One Note

I wish I could include Windows on that list, but in good conscience I just cannot :-)

Collapse
 
pozda profile image
Ivan Pozderac • Edited

Forced updates on Win10 was end of it for me. Somehow every time I did update Win10, it did reset my updates settings, not sure how or why but I didn't want to waste any more time and energy in setting options every time nor in investigating about something that should work out of the box. It was when win10 was still in its early stages.

I used Windows because I was working on .NET projects (they just rolled out first crossover version when I quit my job), but since I changed company I nuked my dual win10/ubuntu boot to just ubuntu.

Machine works faster, due to my chmod-ing sanity and internet browsing hygiene there is no need for antivirus. Also I have to sudo everything, from installation, updates and basically any change that occur on my machine.

I am console gamer, although I do play some games on Linux, GOG has a ton of games that can be run on Linux.

Wine support works but is not so good for some of the things I want to run, so all I really lack on Linux is decent vector software like Adobe Illustrator or Affinity Designer. I have decent skills to do what I need in InkScape but never really adapted fully to it.

Friend ask me for support some time ago as he isn't so much into computers, he is mainly using it for internet and games, so he has Windows. This support I gave was the epiphany for me, Linux can be so minimalistic and powerful as Arch is and Win10 will always feel like fully fledged clunky framework that has even that parts that you will never need or use but they are still there, sometimes being obstacle in normal functioning of the machine, especially on older machines (like CPU hogging for sending usage informations to MS via task scheduler which caused PC to freeze and restart itself, so you have to disable that manually - can't believe it but solely disabling task in task scheduler actually solved the issue in a long run).

I just simply want machine that I can use without worrying about OS settings/options, don't get me wrong, I want to make it to my likings, but I prefer for OS to be fully usable from the start, tweaking just here and there without some crazy settings that does absolutely nothing for me but choking the machine. Linux gives me just that, Win10 - not so much.

As a developer I choose to work on MacOs and Linux, never on Windows.

Also I am fan of MacOS, my working laptop is MBP and I like how it simply works in all the areas I need it to work and it is so easy to use for everyone. Also Affinity Designer has mac version, which is plus in my book.

When I have to turn on win machine, I get frustrated every single time for plethora of different reasons that are simply non-existent on MBP or Linux machine.

I like the direction Microsoft is going lately with a lot of their products and acquisitions, I even like the new Edge on Chromium but WindowsOS simply isn't one of those products. Will never use it again as my first or second choice.

I know that I may regret this as it was really unpopular opinion but I even liked Microsoft phone more than Android at the time when it was still alive - not talking about quality of apps, but the system UX.

Collapse
 
scottshipp profile image
scottshipp

I think Microsoft have made a sincere and meaty effort to support Linux and the open source community. Kudos to them. At a general level, they deserve it.

At a personal level, I moved on from Windows as a software engineer a long time ago. It's not worth my personal time or effort to go back and reconsider that choice. This is merely an unfortunate reality. It's nothing that I have any feelings about whatsoever. I already found more value than I can use in developing on Linux and MacOS laptops so any resources I put into my work is being put toward making use of that value. Starting over again with Microsoft just isn't in the cards nor should it be.

I say that because I suspect it covers the majority of software engineers. Even though Microsoft is doing all the right things, the community has largely moved on. The only gains they're going to make in this area are as far as I can tell are with startups and new devs.

Collapse
 
codemouse92 profile image
Jason C. McDonald

Here's my own two cents:

My System

I and my family have been using Linux exclusively for the past six years. Aside from coding, I'm an author, editor, typesetter, and graphics designer. I enjoy making videos and music. I've used many DEs, usually on Ubuntu-based systems, and I've watched the UX improve exponentially on Linux in recent years. I haven't missed Windows yet.

I do keep a Mac around for running a synthesizer that doesn't work on Linux—something I blame the vendor for, especially as they're using vst format in a non-standard way. I have VMs of Windows 98, XP, and 7, but the former two are for running old games (I still love 98), and the latter is for testing for Windows deployments. I intend to pick up a budget Windows 10 laptop to make it easier to test and deploy software for that platform, but I'm not eager to make regular use of Windows 10.

Ethics

From an ethical standpoint, I no longer consider Microsoft an active threat. I don't know what the future holds, but I know they've invested a lot of time, money, and intellectual property in Linux and the open source world, and if they were to go rogue again, they'd be unable to recoup the losses from the immediate and cataclysmic fallout. I've also read through their Terms of Service several times: I remember the legal "spyware" loophole in Windows 10's original ToS, and I remember when it was rephrased to eliminate the problematic language.

I'm impressed that Microsoft has been using its lobbyists to push for stricter privacy regulation at a Federal level, including GDPR-level privacy law, net neutrality, and a sweeping ban on facial recognition. Those are not the actions of a Ballmer-minded Microsoft.

Technical

A little relevant background on me, here: I've been fixing WIndows (and Linux) machines for almost two decades: I've replaced nearly every part in a standard computer, removed malware (manually as well as with tools), removed cruft, fixed the registry, diagnosed and installed drivers, repaired the bootloader, reinstalled the operating system, and just about everything in between. I can personally testify to the XP SP3 debacle, the Vista drivers issues, and the Windows 8 backdoor. I've trained users, many of whom were computer illterate, how to use everything from Windows XP to Windows 10 to Ubuntu to Linux Mint to macOS.

From a technical standpoint, I still consider Windows to be inferior to Linux. Its only real user advantage is the vendor support Gates and Ballmer manipulated into existence.

However, I believe their technical inferiority too is something they're trying to correct, as evidenced by the fact that their built-in antivirus is now on par with Kaspersky (the industry leader) according to all independent lab tests.

I think Microsoft's adoption of Clang, increasing support of Linux for their tools, and their WSL, are all moves in the right direction. I used to believe their motives were "Embrace, Extend, Extinguish", but I no longer believe that to be plausible: not only is "Extinguish" inherently impossible in open source, but Microsoft would wind up losing their hard-won trust, with nothing to recoup the loss.

I won't comment on Windows's interface, as UI is always a subjective topic: I don't like it personally, but neither do I like GNOME 3. (I'm a MATE guy.)

Why the Change?

It helps to know the reason Microsoft has done all this: Microsoft wants to compete with Amazon AWS. Personally, I'm glad they do! Amazon is, in my mind, the single most corrupt and malicious corporation in the history of the world, combining the utter lack of ethics inherent to the railroad industry of yesteryear with the technological agenda of a maniacal supervillain in a dystopian nightmare. Amazon opposes privacy, workers rights, marketplace ethics, and human rights on every possible front, whereas Microsoft has shown an interest in supporting all of the above. Someone needs to dethrone Bezos, and it will take a behemoth to do it.

Can a corporation change? Absolutely! Corporations are not "things" in and of themselves, but are the product of their people. Systemic changes come from bringing in people with a different mindset, and giving them the authority to steer the company. Companies, like countries, and like open source projects, can change for the better or the worse by their people alone. The entirety of human history proves that without a doubt.

To that aim, I think it's important we keep a realistic view. I think there are many in the Linux world who are, understandably, bitter against Microsoft. It's reasonable to move slowly and require them to earn our trust, to prove their change...but I believe we have an ethical obligation to let their actions speak for themselves. We need to be as forgiving as we expect others to be of us. Forgiveness does not mean we forget, nor that we blindly trust, but rather that we give them a chance to prove themselves. We can be cautious and protect ourselves, but to assume that they're still and foreer Ballmer's Microsoft is, at best, utterly unfair.

My Conclusion

I still consider Linux to be superior in most regards to Windows. I'm a Linux-only user, and I advocate strongly for that operating system. I've introduced many average computer users to Ubuntu, and most of them are happily using it years later!

But does Windows have a place in the tech world? I believe so.

I welcome a world where Windows and Linux start competing direct with one another on a level playing field, and it looks like Microsoft is actually interested in that now. Ubuntu is gaining measurable market share over Windows, and yet Microsoft continues to add cross-compatibility tools so that software can be built for both operating systems. They're even adding Linux support for their rebuilt Edge browser.

So, come on Microsoft: earn your place! Keep making Windows worth looking at, not because "my software needs Windows", but because it actually has advantages over Linux. From the comments section here, it looks like you're actually doing that for the first time in your history, so keep at it.

As for me, I'll stick with my Linux.

Collapse
 
_hs_ profile image
HS

So, I was a long term GNU/Linux fanboy. But... it just didn't work in many cases as people wanted to, well, kind of force me into believing it. Not once, on many stationary PCs and laptops did I find a well stable distribution without any bugs or something preventing me to use it easy and for all my tasks. And lately it's all about drivers, the graphic ones for me. I'm talking about installing things and it just works for time being. I had major episodes lately with Windows and it's updates but that doesn't clear the fact that I had major issues with Linux too. I know there's bunch of commands to fix it but that is not near the point of what I'm heading at nor is it something you should do. OS in essence should just get the work done in most cases. I still find GNU/Linux easier for development purposes, but I also require Windows only tools. And having those cross OS things that make it work on other platform is not something I want. Example is, my wife needs Adobe tools, and I like to play games once in a while and I really would rather shut down PC and go out for a walk or coffee than spend 20min or more making things work or just hoping it will work. On the other hand seeing how Apple treats customers and their prices there's no way I'm paying with my own money for that kind of computer. I mean not willing to fix stuff and suing people that do is not the type of company I want to support. So kind of stuck with WSL on desktop and it's Windows UI :D, and dualboot Windows/Linux on laptop. At the end of the day I'm working more towards being free from the computers which was reverted during COVID-19 but I hope it gets better and I do more walks and coffe.

Collapse
 
codemouse92 profile image
Jason C. McDonald

Pop!_OS for the drivers. Just sayin'.

Collapse
 
_hs_ profile image
HS

Now that's one distribution I haven't tried

Collapse
 
heytimapple profile image
Tim Apple

I'm going to try to limit my babble. But I'm usually the oddball because I am the Linux user that went to Windows instead of vice versa.

I really do enjoy Linux and I have my System76 Galago on my desk running Pop_OS!. I used to be a part of the Archlabs Linux team, basically have used Linux since 1999ish. And let me tell you, I hated Windows. I mocked every Windows user I could find.

When WSL came out I decided to try it, sounded like it could be cool. What I found is a really liked it. Then WSL2 came out and I like it more.

Then the interesting thing happened, I started skipping WSL and using powershell. The three things I do don't require Linux at all, not even the subsystem... Webdev, Python, and Rust. These days I have been playing with Nu shell for my cli interface.

I've jumped on my Galago here and there, but I find I like Windows a bit more. MS Office has no rival and Onedrive is a great cloud file service. Combined with O365 Family my whole family is squared away.

Windows has family features that work very well for me to play "Big Brother" on my kids and control what they do.

And of course there are Games, Affinity Apps, and many other programs that come out that only go Windows, or Windows and Mac, very few go Linux.

Again I'm not knocking Linux, it has a huge spot in my heart. But Windows does everything I want, had the compatibility, and access I want for what works for me.

As far as Evil Microsoft, I like to believe they turned around. And to be honest I find Amazon, Google, and Facebook to be much more on the Evil side these days but no one seems to mind them..well maybe not Facebook.

Well I have babbled enough. in the end, I love Linux, I really like Windows and I feel like I downgrade every time a try linux again. Please don't throw stones at me.. to each our own, right?

Collapse
 
v6 profile image
Info Comment hidden by post author - thread only accessible via permalink
🦄N B🛡 • Edited

Micro$oft's product management is on-point.

Ubuntu and Redhat have boosted the pragmatism of Free/Libre and Open Source software, but the overall Linux community just hasn't attracted enough people willing to take the time to understand markets.

Now, on to the stone throwing: Micro$oft and companies like it have decades of a well deserved reputation for everything from careless annoyance to gross malice, usually to the detriment of any kind of competitive marketplace and users. I wish they cared about money, like they did a long time ago, when starting out, but now it's all about control. Not control over technology, but control of you, your data, your access, and your behavior. It's better for all of us, Window$ users or not, that there's a core group of masochists willing to stand up to all that BS.

Collapse
 
codemouse92 profile image
Jason C. McDonald

If anyone throws stones, it's my obligation to hide their comment here. ;)

Collapse
 
matthijsewoud profile image
⚡️

The first real question is if you can permit yourself to run Linux, as many applications require Windows — be it because if legacy, or market share.

MacOS has that too, but in a lesser sense, since it runs many applications suites used in professional settings as well, like Adobe apps, or MS Office.

If you’re doing front-end stuff and have colleagues / clients that used Photoshop or Illustrator, you really can’t afford to be using Linux, sadly.

Aside from those practical concerns, it comes down to personal flavor. Things like ZSH, SublimeText and Firefox are all available on all those systems.

Collapse
 
felipperegazio profile image
Felippe Regazio • Edited

I like to know about all those pros and cons and i respect all them. I think Windows are evolving a lot since the last years, etc. But despite all the discussion and analysis, i just dont like Windows. I dont know, since i used Linux for the first time a long time ago, it was love at the first sight :P

Collapse
 
tankerkiller125 profile image
Matt Kilgore

Both operating systems have their uses. The simple reality though is that in a business or enterprise environment where controlling what users can and can not do is vital for security and operations windows just the hands down winner.

On the other hand though when it comes to things like web development or web server hosting I feel that Linux has a upper hand. I personally use both of these operating systems.

Collapse
 
codemouse92 profile image
Jason C. McDonald

I don't know. I've seen some pretty solid Linux-based systems that handle permissions. UNIX groups are the gold standard for computing privileges after all; Windows modeled its own groups on it.

Collapse
 
tonymet profile image
Tony Metzidis • Edited

I think it's better to compare them to particular use cases, e.g. production hosting, development, gaming, general productivity on desktop, media server, etc.

Production hosting linux is ideal, because of broader app environment compatibility (e.g. node, php, python, golang, etc), better debugging (gdb), better remote management (bash, perl , python, chef, puppet, etc)

Development: More competitive. Personally I prefer Windows as the core OS and then VMs running linux. This way hardware is well managed (e.g. networking, battery, display drivers). Best of both worlds.

Gaming: Windows -- no brainer

Media server: overall windows IMO due to codec and hardware compatibility, but with the right build linux can compete.

NAS: linux hands down. I would go with specialty NAS appliance like qnas / synology but even a home-built linux server is more flexible due to various daemons for file hosting.

Productivity: Windows wins here. 80% of offices run MS Office.

tl;dr : Buy a PC, run Windows 10, and develop using WSL2 or Linux VM + cloud instances

Collapse
 
_hs_ profile image
HS

I think, if big software houses and gaming companies did more support and development for Linux, Windows would be gone long time ago. However MS held monopoly on support for games, drivers, and office tools and that in my head makes the main reason why people didn't get used to it. Imaging having support for MS Office, Adobe tools and games by same companies that made them on Linux. Would you ever use Windows? This way they pushed as much as they could by playing a little dirty and gave up so now you have .NET Core written in VS Code on GNU/Linux machine, Azure offering Linux stuff, Steam and others making effort to enable gaming on Linux... I think it's pretty much heading to Windows UI running on Linux with support for DirectX and such.

Collapse
 
scriptautomate profile image
Derek Ardolf • Edited

Disclaimer: I run everything on Linux, so there is definite bias in that direction.

My interest in using Windows systems in a work environment came from seeing PowerShell v2, and the lack of administrators/engineers using it.

Learning PowerShell, bash shell, and Python allowed for me to be more competent in a cross-platform approach. But, I think much of this comparison has to do with the goal of the individual.

Note: About five years ago, I removed the last Windows system from my home environment. My experience with Linux had been too positive, and working with Windows had become too frustrating for me to justify keeping it.

Why You Should Use Windows

  • Do you want to play AAA video games? You will still need a Windows OS, for best support and functionality. Though, a variety of games can work on Linux. This is one of the most often cited barriers for people, that I see online, who have wanted to move to Linux but haven't.
  • Do you administer Windows systems? You should use a Windows system at work, unless you can be approved to run it in a VM locally or elsewhere as a system to connect to.
  • Do you develop software with Windows OS as the target client and/or server? Windows will likely be your best bet, especially if using something like .NET instead of .NET Core.
  • Do the engineers/administrators know how to navigate a shell, or are they only familiar with Windows? They are unprepared for supporting and configuring Linux systems.
  • When using the Windows Desktop, such as Windows 10, do you use Windows-only or Windows/Mac OS only software? If so, the software may only work on Linux when using customized tooling to try and emulate Windows libraries. Though, even after a ton of tweaking and troubleshooting, the software may just not work. Though, many tools have open-source alternatives which may be attractive options to try and migrate over too.
  • Is the environment using proprietary, third-party software that only works on Windows? Then you are stuck on Windows unless you develop a migration plan. This would be the case for servers, most often, but also the case for Linux desktops. Linux client OS on laptops/desktops is rare in enterprise environments due to lack of experience, support, and more.
  • A lot of major design and art-focused software only works on Windows or Mac OS. This can mean Linux is just not an option.
  • Use WSLv2 or a Linux VM to expand the capabilities of what you can do via a Windows system. Look at using tools like Docker Desktop for Windows, vagrant with Hyper-V (for native hypervisor functionality, and official PowerShell support), etc.
    • A big thing to note: if you are developing Windows containers, developing on Windows will be a native experience. Developing Windows containers via a Linux OS I think can be done if you are using docker-machine with properly configured Windows VM host in something like Virtualbox.

Note: There is not a Docker Desktop for Linux, but only for Windows/Mac OS. Though, the same functionality can be achieved with docker, docker-compose, and docker-machine with a local hypervisor such as Virtualbox.

Why You Should Use Linux

  • Do you administer Linux systems? You should use a Linux system. Using a Windows desktop, with WSLv2 or a Linux VM, to primarily take care of Linux systems is a painful user experience. Though, many people may not have this option in an Enterprise environment due to support and policy. As a result, many Linux administrators/engineers interface with Linux environments via a Windows client OS and jumpbox or local VM / WSL.
  • Do you want updates for not only the OS itself, but automatically for all of your installed software, at a fraction of the time it takes for a Windows system to update? Go with Linux. If you have found yourself frustrated when turning off your computer, or starting it, and staring at the Windows update progress slowly moving forward, then you will be relieved to no longer have that experience.
  • Do you want complete control and customization options that will feel nearly limitless with your OS? Linux is your go to. There are many distributions, tweaking options, user interfaces, and communities.
  • Are you a fan of PowerShell on Windows? PowerShell Core is cross-platform, and can work on both Linux/Mac OS.
  • Do you use a desktop primarily for web-based use? Email, Netflix, Hulu, Prime Video, Youtube, etc. all can work via a Linux desktop.
  • Linux support for many video games has grown overtime, if that is a factor. People can look up how well their favorite games work on Linux.
  • LibreOffice has come a long way, but it would take time to get used to if someone is coming from Microsoft Office. It can be installed on Windows, also, which could be a way of migrating over to the free office suite over time. Though, if in a workplace environment, it may just cause frustration and weird formatting differences. If on a personal computer? LibreOffice can really be a way to save money.
  • Visual Studio Code (VSCode), Atom, and other IDEs work on Linux. They are also free. As cross-platform IDEs, a developer would be empowered to develop in a similar environment regardless of the base OS. Visual Studio Code has become my primary IDE.
  • Linux is a free to use OS, with distributions and the base kernel being developed by a global community. Google, Reddit, StackOverflow, various blogs, forums, etc. can be searched to discover solutions to many problems a person may run into.
  • Do you want to play with IoT devices, like Arduino or Raspberry Pi? Get into Linux, and make cool things. I've seen Microsoft attempting to get in on IoT with some kind of Windows variant, but I don't think I've ever seen anyone using it (or if it is still under development?).

I personally think Linux is a better option for both personal use and work use. I used Ubuntu 12.04 - 16.04, before migrating over to Pop! OS with 18.04. I've been impressed with their direction, and like seeing what System76 is doing when it comes to both hardware and software. I use Linux for work. I use Linux for play. I use Linux for everything. I personally feel that everyone should at least try Linux. It is incredibly rewarding for hobbies and for careers.

If someone goes the Windows route, learn PowerShell. Using Windows, and not knowing how to use PowerShell, will only hold a person back. Systems admins and engineers who don't use PowerShell will have abilities that pale in comparison to the people who do use PowerShell. Also, evaluate a package management tool like Chocolatey.

The learning curve for Linux, when coming from only ever having used Windows, can be difficult and frustrating for people. This is the case for anything new: change is difficult. Though, over the years, much of what Linux distributions do will "just work" when being installed on systems. It can also be tested via bootable USB drives. Patience will be incredibly rewarding. Impatience will lead to a potential nightmare.

Trying to convince a Linux user to use Windows, instead, may be an impossible task. Often, this is because they came from using Windows, and can no longer go back. Though, for Windows users, it's different reasoning. It usually is not the case that a Linux user has converted over to using Windows: it is more so the intimidating aspect of a different OS, and the lack of specific software support. A certain personality type is required: one that wants to constantly learn, experiment, and test out/compare software alternatives.

One last thing to keep in mind: with all of this said, this means it isn't merely all-in on one OS or the other. What are you trying to do? Do you want to be capable of working cross-platform? Do you want a gaming rig being a dedicated Windows system, but Linux running on everything else? Do you want a system setup where a dual-boot exists, helping achieve what you want in whatever OS you want, based on what you are doing? On a Windows desktop, one can have a Linux VM or WSL. One a Linux desktop, one can have a Windows VM. Though, you'd need a Windows license for the VM. Linux requires no license, and can be used with zero cost.

Collapse
 
projectescape profile image
Aniket • Edited

I'm only going to say this
There is a reason why Microsoft had to implement WSL

Some comments have been hidden by the post's author - find out more