Poll: Would you choose Windows, Linux, or macOS for a workstation?

20 points by freedomben ↗ HN
If somebody else was buying the hardware, and you could choose whichever hardware you wanted, which OS would you choose for your workstation?

45 comments

[ 3.3 ms ] story [ 93.1 ms ] thread
I would choose whatever everyone else on the team used.

I want to be able to draw on the institutional knowledge of how to get around things. I once made the mistake of being the only Windows developer at a company and it rendered me 80% as productive as I was constantly running into errors that nobody else had overcome.

My personal order of preferences is Linux - Mac OS - Windows.

But as you have discovered it isn't just the OS, but also the corporate infrastructure that makes it far easier to go with the majority. When I work in Windows environments I just call IT support to fix problems. Rather that than me muck up something. If they do, then it's on them.

That can also be the other way around. As Linux users I ended up in a mac only company and I was constantly struggling with the many quirks the OS was throwing at me, and relearning how to solve problems in a closed source space, which was kinda new and very frustrating for me.

Maybe my productivity would have increased after a while. But for the first year I only feel hindered by my OS

IMHO has nothing to do with that respect

It something to do with the environments or clients smooth interactive operability

Whichever OS is better and more efficient in configuration to achieve that, it'd be used the most

For me Linux is a no-brainer. It runs almost any open source *nix software and most older Windows binaries with WINE. It's the fastest modern OS that supports my hardware fully, and by fully I mean every driver works OOTB on a newish PC (2019). Windows and macOS still make you look for driver packages online for stuff like USB wireless adapters. Meanwhile on Ubuntu these are plug and play.

Work specific stuff is great, too. Virtualization support is awesome. The software repos make it insanely easy to get development tools and libraries installed, even for complex stuff like cross-architecture compiling and test tools like Qemu.

Linux is probably the most useful and flexible OS ever made.

as a Windows fan, I love how WINE has made Windows into (arguably) a native platform for Linux software.

I can build for Windows and not worry about Linux. It's like Linux has chosen Win32 as a native application format in a way.

In some ways I bet it is easier to ship Windows binaries for use on Linux than it is to ship Linux binaries for use on Linux.

It's like Linux people have given up trying to solve their problems and have just chosen a Windows binary-based workaround.

To be fair the majority of people I know don't use wine at all, except maybe embed in steam.

There is still plenty of software that is not well supported, most software tools I've tried had issues. Many Operations like copying files can take way longer trough wine.

Also most Linux folks highly prefer the Linux way of distributing software. Nobody has choosen wine as an easy workaround except lazy game Devs.

This sounds like something someone would say if they had not used Linux since 1998.

I personally would not pay for or probably even use software that only "supports" Linux through WINE since it will have all kinds of fit and finish issues that make it painful to use. I'm actually in the process of converting all my old files so I can move to open source Linux-native apps and remove WINE entirely. Win32 apps look and perform horribly on GNOME.

The Linux binary distribution "problem" (from a Windows user's perspective) has been solved for a while by things like AppImages or Flatpaks that bundle the libraries the program needs without static linking. Most Linux users simply prefer the old repository based way of distributing software.

You don't need Flatpaks or AppImages, those are just "convenient". Lots of well known software is distributed using the "unzip the folder and run the binary" scheme - the same scheme commonly used for win32 apps that don't have an installer. Firefox and Blender spring to mind.

"Linux" just doesn't have an ABI problem. Provide all the libraries your app needs, and it will run.

I use HeidiSQL in Linux because for me, it is superior to any other MySQL client that's native or Java based and runs in Linux.

And I don't see how Flatpaks are better than static linking, except for some sandboxing.

Linux runs all the software I want and use natively, apple doesn't give me enough control what leads to frustration and windows is no option for bazillions of reasons.

For BSD I am just to lazy, and ChromeOS is not more an OS than android is.

When I was recently hired by AWS, they gave me an option of what platform to choose. I selected macOS. They gave me an M1 MacBook Pro, which is probably still the fastest and most powerful machine in the house, although I do have an older personal Intel-based 16" MacBook Pro that has a lot more RAM.

I've been a MacFanatic since December of 1983, when I saw a prototype of the original 128k Mac behind closed doors. The only apps were MacPaint and MacWrite and the calculator, and all it took was five minutes to convince me that this is how all computers should work. I was still in high school.

I've also been a nix [1] geek since 1984, when we were using a PDP 11/70 running BSD 2.9.something (I think), with a whole 64KB of RAM in two 32KB banks. This was the standard multiuser computer system operated by the University EE/CS department for undergraduates. The CLI still makes so much sense for so many operations.

IMO, modern macOS is the best combination of the concepts of the original macOS and nix -- in part because it's based on Mach and BSD Unix under the hood.

[1] I use the term "*nix" here, because I have also been using Linux since 1998, when I was hired by Belgacom Skynet, which was the ISP arm of the former PTT for Belgium. I've used many varieties of Unix and Linux over the years, and while I have certain preferences, I'm not that bound to any one particular variant that I've tried.

At home I work on Windows 11 pro workstation and macOS's latest beta.
Windows 11 has the widest desktop app and hardware support and the best *nix environment including great things like apt-get via WSL. Linux (even if you have OSS drivers) often has limited hardware support and macports/homebrew is limited compared to apt-get.

I've been using Linux for 20+ years now and agree with the person that said Windows 11 is essentially the best of Linux and *nix.

I hate how Microsoft is trying to kill Linux on bare metal with WSL.

I have had so many problems on WSL1/2 and the performance is just not comparable to my current Linux system, where everything just works how I expect it to work, no company automatically installing software (spyware) on my system without permission, no urgent automatic updates while I'm working and no new telemetry settings I have to disable after each new upgrade.

In linux I just have control over everything and it just doesn't get into my way while working.

No one is stopping you from using Linux?

Not everyone loves Linux Desktop....

Never had any issue with WSL. However with WSL2 the fact that it uses hardware VT-x/HyperV is a big no from me, since that means VMs and WSL don’t play nicely. WSL1 albeit not full Linux kernel has been going pretty well for me however, as I mostly do C++ work.
VMs don't tend to be an issue anymore, since pretty much all VM software supports HyperV now. VMWare works great, VirtualBox is still in beta afaik.

It's a recent development so you might have missed it.

How has your performance experience been with VMWare and Hyper-V at the same time?
Nobody is trying to kill Linux on bare metal. Why would that even be a thing?
I struggle to even comprehend Windows 11 and WSL2 as the "best nix environment" as they are by definition not a nix environment, as Windows 11 is the base OS.

I guess if all you do is web dev work and can live entirely in docker containers/VMs, but I work on hardware dev (usb, i2c, spi busses) and the closest thing to a virtual environment I get is python venvs. My Desktop OS must run on bare metal, period.

But if that's the case (web dev), then desktop app compatibility doesn't really matter anyway, beyond front-end testing in native browsers -- easily done in VMs.

I run Manjaro and FreeBSD desktops and Mac Laptops and have literally dropped Windows-based systems from compatibility with our USB instruments because of how bad the hardware support for USB/serial devices is and I just don't want to support it. 80% of our customers use Mac-based laptops anyway, and most industrial users just use industrial raspberry pis to work with out equipment.

FreeBSD is my preferred Workstation OS for my python-based development as it forces me to think multi-platform in a way Linux just doesn't. It also has some very strong *nix design philosophy behind it, making it rather enjoyable to develop for.

>as Windows 11 is the base OS.

This is, technically, not true. With WSL2 there is a Linux Kernel running in a small VM. So you are using Linux OS.

It's fundamentally running the guest OS as a process under a Windows Kernel/OS.

It's fundamentally not a *nix environment.

VT means virtualisation is lower level than that, it’s a Nix environment running a Linux kernel, it’s just not bare metal.
Windows with WSL, because I do not like Linux Desktop.
I hope that with the advent of the Steam Deck, the Linux desktop will finally lose all the rough edges.

I'm really not a fan of Windows 11, but Linux just doesn't work as well on my laptop right now without loosing some features.

Yes, I hope so. I am not a huge fan of Windows either.
Linux has been my workstation and home-station for nearly 20 years. I guess I beat the "year of Linux on the desktop" by a lot :-)
macOS because you need Xcode for iOS dev and Xcode only runs on macOS.

If I'm not doing mobile app dev, then will easily choose Linux.

I've been on Linux for about 10 years. It keeps me a happy, productive developer.
It depends what I'll use it for. If I'm gogint to spend the day in Microsoft products or develop a windows-first app, I'd chose a windows one.. If I was going to spend them doing development for mac, I'd chose a mac one.. For everything else, I'd go for a Linux one.
I think it would really depend on your workload.

If you are doing web dev mostly then Linux is a no brainer. It is what I use for both my work and personal project machines. Windows with WSL might be a good choice if you also need to work with some Windows only apps.

If you are doing heavy video/audio stuff or iOS development Macs make the most sense.

Windows now only really makes sense if you have to use a Windows only toolchain. I’m not trying to be a snob, I used Windows from 2.0 days up to about 4 years ago when I switched to Linux. Before that I was using a lot of the tools installed with msys to have a pseudo Linux box via its bash terminal app. It isn’t worth the impedance mismatch.

I'd split Windows into Windows 7, Windows 8 and Windows 10/11.

Older Windows are a good choice for a workstation. Recent ones are not.

For professional development work, I’ve been using a MacBook for years. Our company issued Dell windows laptops prior but due to the restrictions all large companies love to roll out, getting a functional dev environment going was next to impossible. Macs bring most if the power of a ‘real’ unix environment to something that can be mostly fleet managed, which is something no Linux distro I’ve seen has found a widespread reputation for being so. So, given the choice of realistically Mac or Windows in the enterprise space, I’ll pick Mac every time.
Windows, definitely, since I care about graphics workstations.
Using Linux for 25 years, I never understand the complains about the desktop at least for me has been the best just because I can pick, choose and tweak (I love XFCE and BSPWM). My only issues was pre-2000, before mplayer there was no decent video player for Linux after that mplayer was really ahead of the competition (first one with framedropping AFAIK) It was also rough not having flash support in mozilla but that got solved and forgotten long time ago.

I worked a little bit with windows and OSX. For me Windows is a pain to maintain, everything is just obscure, I can't tweak the desktop to fit my needs and the worst thing is just see how fans and resources goes crazy and I cannot find a reason for that misbehaving. Not flexible at all.

OSX is a little bit nicer for me but still closed, not flexible and for some reason consumes resources like crazy.

We all have different experiences I think familiarity is the strongest factor.

>tweak

I don't want to tweak. I just want to work and things should just mostly work out of the box.

Whenever I try Linux Desktop I end up tweaking a lot.

Tweaking is usually not needed if care has been made in selecting the right hardware. In most cases things work out of the box if that selection was done correctly.

Going further, workstation tweaking is a power feature, for those that want or need it.

If you don't want to do any tweaking, my experience has been best in Fedora. out of the box it's highly usable, and unless I'm building a workstation I don't change anything. The things that I do tweak now are just settings in the "Settings" app and the gnome-tweak-tool.
Linux is highly customizable, very much developer friendly, makes good use of any given old hardware, minimum requirements to get started, not very resource intensive compared to windows. It suits most of development and workflows. Recent additions of support for 'steam' makes it fun too :)
I'd use whatever the rest of the team is using.

I'm currently one of a few macOS devs in a primarily windows shop because I got involved in supporting a mobile app. Whenever I have to work on our none-mobile codebases I run into all sorts of issues that the other devs never have, and it definitely impacts my efficiency.

I also end up doing a lot of scripting, and now those scripts are either slower to write(if I consciously make them OS-agnostic) or unshareable.

> I'd use whatever the rest of the team is using.

That may not be an optimal strategy either. In my last job most devs were on Windows even though our software was deployed on Linux servers. I had Linux on my desktop and I had much less problems than my colleagues due to them effectively having to maintain 2 OSes instead of one. I was also a go-to guy for anything Bash or server related, because for me it was just everyday stuff, but the Windows guys didn't have those Linux muscles developed.

At this point I personally stopped caring too much about the OS, so I think I would go for Windows: it's messier than macOS, not open source, but you get both a Windows and Unix environment thanks to WSL, which means you can run almost any software without too much trouble. And the desktop environment is good enough to get things done in a productive fashion once you get used to it. The OS itself is stable and almost any hardware is supported so you have lot of choice for your workstation.

I've been in the Unix world almost all my life, switching between MacOS/OS X/macOS and some flavour of Linux every few years, and finally decided to try Windows a few years ago after they announced WSL. And the experience has been really good so far.

I agree with this. In my experience working in the enterprise, Windows is less hassle and works just fine. The sweet spot for me is a Linux VM running on Windows. I get the best of both. WSL is good also.

I have been in unix since '90 and am most comfortable there for work but Windows fits into everything else in the office, as much as it can be done.

I've used mac/windows/linux each as developer workstation over the years.

There are times when each has its strengths, but if it comes down to preference, I pick linux.

The reasons are conceptual consistency, corporate independence and extensibility.

If the platform is stable and being maintained, isn't controlled by a rent-seeking corporation, I'll put up with a lack of whizbang gadgetry.

If it is stable, I can augment the platform myself, and the investment of effort makes sense.

That said, I do like the WSL2 work MS is doing, especially when paired with vscode. On the other hand I HATE the dark pattern BS microsoft pulls these days.