DEV Community

Windows and Linux: A Sane Discussion

Jason C. McDonald on May 16, 2020

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 ec...
Collapse
 
elmuerte profile image
Michiel Hendriks

I have Windows on my workstations, because I also play video games. WSL makes Windows usable for development, especially if you have to deal with files. Performance of WSL is shit though, but the upcoming release of WSL2 should improve that.

All other kind of systems (Servers, HTPCs, ...) run various (Debian based) Linux distributions.

I just wish GUI devs of the OSes would stop screwing it over. The Windows 95 UI was really good, it had some improvements in 98, and 2000. But after that it started to go down hill. Sometimes improvements came along, but overall it's getting worse. And for some reason the Linux GUI people joined in on this mess with the likes of Gnome 3.

For a pure development system I think I would just go for Linux. Probably one with MATE. I don't see any benefits of using Windows for my kind of development work.

Collapse
 
_hs_ profile image
HS • Edited

Ugh, about the UI, I just hope someone made some kind of old school KDE or Gnome a bit prettier and not burning my laptops anymore. Like, do they need to use 300% of graphics card to run ? What happend to simplicity. Although I like some part of Win10, where you have 1 colour and flat design, but those loading screens when firing up things like settings... I mean it should be fast for such a simple design but apparently UWP behaves as Gnome and KDE do nowadays

Collapse
 
deciduously profile image
Ben Lovy

You can just go download yourself some Linux for free.

Collapse
 
_hs_ profile image
HS

Not if you don't have another OS where the download happens. Unless you already have Linux and you want more Linux so you end up in a loop :D

Collapse
 
deciduously profile image
Ben Lovy

Fair - you'll need to get yourself a USB stick and find a public library!

Or jack it directly into your brain, your call. Linux is about choice :)

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
 
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
 
sarafian profile image
Alex Sarafian

This is going to be a bit off topic but it is incredible that someone asking a question of preference feels the need to fill 3 quartets of the text with how to be civilized in a discussion.

Is it the topic, is it experience or just something pc driven?

Collapse
 
codemouse92 profile image
Jason C. McDonald • Edited

It's experience, unfortunately, both first-hand and second-hand based on the aforementioned article/comment. I wouldn't waste the time on the preamble otherwise, as you'll notice from every other discuss post I've done. ;)

What's incredible is that there are people who need the reminder!

Collapse
 
v6 profile image
🦄N B🛡 • Edited

I'd have thought the same. But no, it's not a PC thing, and not motivated by some desire to do language policing.

I mean, I can't read minds, but there's another possible motivation that's more obvious.

It's from direct, recent experience in a what devolved into a D-Day level flame war.

Collapse
 
sergix profile image
Peyton McGinnis

Windows is still by far the best platform for .NET development as a whole, even though it's been cross-platform for a few years, mostly because of tooling. Windows also still simply has a larger market share of desktop applications (correct me if I'm wrong) than other operating systems, although macOS and Linux are quickly catching up.

Linux (Arch/Gentoo in particular) is best suited for overall software development. Nowadays you can develop virtually any application on a Linux box, and programs like Wine greatly help.

So, I'm not really sure where I stand in the debate. I've used Windows extensively the past few years but have found many frustrating aspects of the OS. But, I still prefer the Windows desktop environment over XFCE/KDE/GNOME/etc.

Also, AutoHotkey.

Collapse
 
sirseanofloxley profile image
Sean Allin Newell • Edited

When making a new small .net core api, I've actually found VS to be a little overkill compared to just VSCode. And as such, i believe the .net dev experience may be less of a factor for windows OS dominance as we move towards a unified .net with .NET 5.

Collapse
 
dinsmoredesign profile image
Derek D • Edited

Agreed. I work at a .NET shop as a front end dev and, while I don't write a ton of C#, I find running VS to be overkill for 90% of anything I do. The only upside I see of VS is if you REALLY need ReSharper, in which case you should just use Rider. VSCode is fast, has great Intellisense plugins and feels overall more polished than VS now days.

Collapse
 
codemouse92 profile image
Jason C. McDonald

Have you ever tried Cinnamon? (It's native to Linux Mint, but also runs well on Pop!_OS)

Collapse
 
sergix profile image
Peyton McGinnis

I've seen some people discuss it before and have seen some screenshots but I've never personally used it. I've never been that interested in trying Linux Mint before, but what are it's advantages over other distros? Have you used it?

Thread Thread
 
codemouse92 profile image
Jason C. McDonald • Edited

I used it for over a year. It has its pros and cons, but it's certainly the most Windows-like UI. Very polished interface, but with all the refined control of GNOME 3.

Personally, I like running Cinnamon on Pop!_OS, though.

Thread Thread
 
sergix profile image
Peyton McGinnis

Awesome, I'll have to try both Mint and Pop!_OS out soon then!

Thread Thread
 
codemouse92 profile image
Jason C. McDonald

Cool! When you do, see this: Pop!_OS: Change the Desktop Environment

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
 
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
 
moopet profile image
Ben Sinclair

I think that it doesn't matter what Microsoft do. They could turn themselves wholesale over to making medicines for everyone and I still wouldn't trust them with anything important. They spent too long poisoning the industry.

I'll use things they make if they fit with my interests, like VSCodium, but I'll never invest time or money into any of their products in a way that isn't directly self-interested.

I see most of their "embracing" of any technology as the first of those three lovely phases ending in "extinguish", and I can never be sure that they have users' interests in mind.

I appreciate that others will, but I think that those who forget the past are doomed to reinstall it.

Collapse
 
codemouse92 profile image
Jason C. McDonald • Edited

That leads to the question: is a corporation a mega-entity in and of itself, with its own inherent behaviors, or is its behavior reflective of its management? The C-suite is altogether different at Microsoft now than in the Ballmer era, so one might argue it's a completely different company.

By the same process, would you continue to consider Red Hat a trustworthy company if they close-sourced everything they did, started installing encryption backdoors on the system and launching campaigns against open source projects? Or would you conclude they were now no longer safe, because their behavior had markedly changed?

If the latter, what is the diff between that and Microsoft? (honestly want your take)

Collapse
 
moopet profile image
Ben Sinclair

I think the point is that I don't know, and can't know, what's going on in a behemoth like that. The only data I have to go on is that they've been consistent bad actors in the past, who have actively tried to sabotage progress in fields they see as competitive.

I think there's a certain amount of management sway, but it's difficult to tell how much is honest and how much is just a spin on their regular behaviours.

I like your flipped example. It makes me think, but it's always going to be much easier to believe someone(s) has changed for the worse, so apologies for the incoming hyperbole:

Say I had a friend who used to be a serial killer. Maybe they're "ok" now, they give to Help The Aged and work in a soup kitchen. I have another friend whose life went the other way and they turned to assassination after working for charity all their life.

I'm afraid even trying really hard, I'm not going to trust either of them. It's not like a minor issue, not like they used to commit petty crimes, they actively tried to damage other people.

Maybe that's a bad prejudice on my part. Maybe if they disbanded the company and gradually reformed under a different name I wouldn't notice and would think they were great. It's all a bit emotion-driven.

Collapse
 
v6 profile image
🦄N B🛡 • Edited

a mega-entity in and of itself, with its own inherent behaviors

That one. This is the reformists' fallacy, where they believe that simply by replacing the people that they can make systemic change. But it's only temporary until the system itself changes or, better yet, is sacrificed on the altar of the public good.

And if RedHat made a wholesale change like that, I'd begin to grow suspicious, but I'd trust a closed source product from them more than an "open" sourced product from Micro$oft whose devs and infrastructure they happen to pay.

Much of my work, especially recently, has to do with ensuring that people don't lose (as much) control of what they're putting up on someone else's computer.

Thread Thread
 
codemouse92 profile image
Jason C. McDonald

So, on that basis, what would you expect to see for there to be a systemic change?

Thread Thread
 
v6 profile image
🦄N B🛡

Governance changes atypical for the industry.

To pick one extreme example, a move to employee ownership, that kind of thing would make me start questioning.

Collapse
 
v6 profile image
🦄N B🛡

Yes, I share your deep suspicions.

Meta entities like Micro$oft are driven by the need for control.

And I suspect that if they're pivoting away from a war for source control, it's because they've smelled an opportunity to take control0 some other way.

Collapse
 
michaeltd profile image
michaeltd

THANK YOU!!!

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
 
sirseanofloxley profile image
Sean Allin Newell • Edited

My dad is pretty much a MS, .NET, and Xamarin zealot. As such, i have 'inherited' windows. I got an ISO of win10 preview and always had free access to win10. Been playing games my whole life.

Then in college i became a software engineer.

I played with the linix environments at school, had to do some server work at various jobs, did more and more web development.

Then I tried WSL, then I tried dual booting ElementaryOS... Then i went in way too deep and installed NixOS on my laptop and now am happy with a debian10 laptop and win10 desktop.

As developers it seems to me that we love, prefer, and nearly demand (as seen with VMs/docker/WSL) *nix systems for getting things done. As I've matured as a dev I have grown to appreciate linux more as things really do fit together better.

As a consumer, a computer is an investment. And the OS is sometimes just a bundled deal from an OEM. Hardware and software are not decoupled from the market's perspective. But things like System76 and more options to mix and match like we do with graphics cards and CPUs, may turn this general ignorance into a new general market demand. In the future, it may not acceptable to just sell dell laptops with windows preinstalled anymore. I think that's what it would take to put windows and Linux on even footing in the general consumer market.

And if Apple decoupled Macbooks from MacOs and sold their hardware with PopOS on it.... Then we would be living in a computer revolution indeed! 🐷✈️

My wife just got a 2019 refurb macbook pro; people want to know that it'll 'just work'. She's an artist who uses adobe products a lot. I'd rather her use the open source, free, Linux versions of each app she uses - but I also would not like to spend the next 3 months slowing her creative process and business down.

So it seems to me that habits, productivity, manufacturer/OEM/fortune-500s choices and consumer attitudes dictate the OS wars in these times. And then that leads to the situation where we are now - android doninates mobile, Linux dominates servers, the PC corporate install base is overwhelmingly windows, and the creative industry chooses apple for an experience they can count on.

As Linux becomes more visible (as it has been recently) I see this slowly changing over the next generation.

Collapse
 
jsn1nj4 profile image
Elliot Derhay

Adobe definitely does have a grip on the design industry too, so there's that.

Collapse
 
dinsmoredesign profile image
Derek D • Edited

For good reason. I was previously a designer, now a developer. I've tried most of the competitors and not many of them are as good. The few that ARE as good are only alternatives to one single Adobe program. Designers rarely only work in one program. It's more cumbersome to use one non-Adobe product and then Adobe for the rest than it is to just go all Adobe, especially since they've adopted their subscription model and it's basically all or nothing now.

The only deviation I really see in the industry is for web/UX design. This is because Adobe didn't have a good competitor once Sketch was released. They're still playing catch up on XD while things like Figma are rolling out and killing it.

FWIW, I really like the Serif Affinity suite of programs, but they're only made for Windows/OSX. I've yet to try anything on Linux that even comes close to the offerings on the more mainstream OSs.

The only thing keeping me from using the Affinity suite more lately is time. They are very close using them compared to their Adobe counterparts, but there's some things that are different and end up making me take a lot longer to do. That said, I continue to use Adobe products because my work pays for them for me. If I didn't have a paid subscription, I would use Affinity because their model of buying a license is far more appealing.

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
 
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
 
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
 
snikhill profile image
Nikkhiel Seath

I use Windows 10 to play games, trying out video editing software. I use Fedora Workstation for development purposes. LAMP Stack, git, composer...

I haven't logged into Windows for a while now. I guess I like the way terminal works. :)

Thanks
Nikhil Seth

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
 
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
 
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
 
projectescape profile image
Aniket • Edited

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

Collapse
 
wrldwzrd89 profile image
Eric Ahnell

Both have wonderful development tools. Linux's tools have historically been better at the CLI, while Windows excels at the GUI. Linux is very community driven and tends to adopt a philosophy of "put the best bits from the community together", which is great... when it works. Windows, on the other hand, prefers the approach of "build it and they will come", which is popular but far less flexible. Ultimately, finding where you work best is what matters - and now that all Windows supports Linux tooling, you don't have to live without your awk on a Windows box, if you don't want to.

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
 
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
 
v6 profile image
🦄N B🛡 • Edited

To be honest, I kinda prefer the insane kind. You're probably gonna want to hide this one.

They're almost all awful by the standards we would apply to most tech that doesn't need a CPU. And the panoply of failure, combined with the concurrent demand to consume that steaming junk heap of failure, is just another example of how software is still a wild, wild west, and the computer revolution hasn't happened yet.

Collapse
 
codemouse92 profile image
Jason C. McDonald • Edited

Eh, it's a valid position that's worth keeping in here. It reminds me of what my IRC friend _habnabit loves to say: "everything sucks".

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
 
codemouse92 profile image
Jason C. McDonald

Thanks to @shadowjonathan and @kailyons for inspiring this.

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