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:
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!
Disagreement isn't rude.
Healthy debate is fine, but hostility, elitism, and ad hominem attacks are not.
Unconstructive comments, even those that are "just shy" of violating community rules, WILL be hidden, and reported as needed.
I also don't want to receive any argumentative or offensive DMs about this. Any such messages will be reported, and then summarily ignored.
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.
Oldest comments (54)
Thanks to @shadowjonathan and @kailyons for inspiring this.
You can just go download yourself some Linux for free.
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
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 :)
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.
Have you ever tried Cinnamon? (It's native to Linux Mint, but also runs well on Pop!_OS)
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?
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.
Awesome, I'll have to try both Mint and Pop!_OS out soon then!
Cool! When you do, see this: Pop!_OS: Change the Desktop Environment
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.
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.
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.
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
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.
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".
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.
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)
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.
So, on that basis, what would you expect to see for there to be a systemic change?
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.
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.
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.
THANK YOU!!!
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?
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!
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.
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
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.
Adobe definitely does have a grip on the design industry too, so there's that.
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.
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.
I'm only going to say this
There is a reason why Microsoft had to implement WSL
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.
Why You Should Use Windows
docker-machine
with properly configured Windows VM host in something like Virtualbox.Why You Should Use Linux
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.
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
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.
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.
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.
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
Some comments have been hidden by the post's author - find out more