r/Operatingsystems 1d ago

Windows vs macOS vs Linux — Which OS is actually best for coding?

I keep seeing the same debate among developers 😂

Windows: “We know.”

macOS: “Unix-like terminal + great battery life.”

Linux: “Customization + developer/server friendly.”

But honestly, I don't think there’s one universally “best” OS for coding.

Windows has improved a lot with WSL, macOS gives you a solid Unix-based environment, and Linux gives you insane control over your system.

So I'm curious:

If you had to use ONLY one OS for the next 3 years as a developer, which one would you choose — and why?

Windows 🪟

macOS 🍎

Linux 🐧

And please, no “it depends” without explaining what it depends on 😂

4 Upvotes

32 comments sorted by

3

u/savemeHKV 1d ago

Depends on what you are trying to achieve.

1

u/starkk46 1d ago

Fair point. I guess there’s no universally “best” OS — it really depends on the workflow and what you’re building

1

u/starkk46 1d ago

What kind of projects are you mainly working on? 👀

3

u/laczek_hubert 1d ago

Windows has some specific SDK's, API engines or can't cross compile so the answer is both Linux and windows. Also if you care about the battery life of a MacBook get a fucking snapdragon X laptop or smh while it has less software for it you could use it on windows or Linux to a great extent but you'd probably need to compile some software and other quirks

1

u/starkk46 1d ago

Yeah, compatibility is definitely a big factor. The “best” OS can change depending on the SDKs, APIs and hardware you’re working with.

3

u/FBSD_Virtual_machine 1d ago

No mention of freebsd. I mean no offense but freebsd is not only good for coding but you can code in any number of virtual machines as well and that can include linux and windows.

1

u/starkk46 1d ago

Fair enough 😂 FreeBSD deserves a mention too. I was mainly comparing the three most common choices, but yeah, there are more options.

1

u/TygerTung 16h ago

Don't forget netbsd which runs on anything.

2

u/NumberInfinite2068 1d ago

Depends what you're making but if you have to ask there is no real difference.

You'll probably run the same VS Code, the same Python and look stuff up on the same Chrome.

2

u/st0ut717 23h ago

This is a stupid question there is no best. There is a tool for the job. Are you coding for a sqlserver database video games, ladder logic?
Are you a using massive datasets for HPC
Are you coding iPhone apps

2

u/Rich-Engineer2670 22h ago

There is no best OS -- some OS's have specific frameworks that might suit your project better. If you're working with C#, that's native on Windows and it might suit you better. My work exists in hte network layer, and Linux just gives me more low-level access -- but that's based on the project need, not the OS.

2

u/7YM3N 20h ago

I mean the best one is gonna be that one you target. I work on Linux because my program will run on Linux, I also prefer it but that's incidental

2

u/309_Electronics 20h ago

If you want to code IOS apps a mac is almost required.

But it depends on choice and preference tbh

2

u/Rinzwind 18h ago

if you want to code in MS specific languages (like Visual Basic) then Windows. For all the other: it really does not matter. I prefer Linux for python, perl, and C.

Mind that I can make your question even less interesting: I use google cloud engine for my projects with Ubuntu as an OS. So what I use for an OS on my machine is moot :D

1

u/mindtaker_linux 20h ago

1.  Linux 

  1. MacOS

  2. Windows

1

u/cfx_4188 18h ago

For coding, a well-learned layer between a computer chair and a computer desk is better than super-duper OS.

If you, like me, are constantly working with assembler (unexpectedly, right?), then you need to know that MASM leaves a lot of dirt in the code that causes linker errors. For example, I use OpenBSD because NASM leaves almost no garbage in the environment of this OS. The FreeBSD developers love working on macOS. If your goal is Python or, God forgive me, vibe coding, it makes no difference which OS to use.

1

u/Syzygy2323 6h ago

What do you mean by dirt in the code?

1

u/s1gnt 17h ago

Only Windows with Notepad, only hardcore! Jokes aside Linux is the best, but only if you confortable with it. It's the worst if instead of being productive you just busy tweaking configs.

1

u/sedj601 16h ago

I can only speak from my experience. I loved Windows and the various IDEs when I was coding JavaFX, C#, Android, and some JS/HTML. Now that I use Local LLMs sometimes, I have switched to Linux. Once the Local LLMs came into play, Linux was the better fit. I am not saying I wouldn't have been happy with Windows. I know the local stuff runs way better on Linux. I have never programmed on a MAC.

1

u/rmagnuson 15h ago

"It depends" on the software you are developing! If I'm doing web development using LAMP stack, Linux is the obvious choice. If I'm working on a C# application, whether desktop or for the Web, then Visual Studio on Windows is the likely platform.

Pick the right tool for the job at hand.

1

u/raven2cz 15h ago

It has always been Linux for me. Mainly because of complete freedom. Once you start using open-source tools and scripting in their full scope, there is nothing better. I could never imagine anything like that on Windows or Mac.

But I would not really count WSL2, because that is just Windows trying to save its own ass by trying to run Linux inside itself.

Especially today, when thanks to AI, the command line has returned to the world again for everyone. And in Linux, it is connected to absolutely everything.

1

u/JewelerAgile6348 5h ago

I use all 3

0

u/Otherwise_Task7876 1d ago

Linux. It's not objectively best but I'd prefer it since all my current homelabs and projects are kinda built off it. Even if that weren't the case I just prefer it.

1

u/starkk46 1d ago

That makes sense. Once your projects and homelab are built around Linux, switching ecosystems can be more trouble than it’s worth.

1

u/Otherwise_Task7876 1d ago

Well not even fully that. What else would I use? Windows servers? I think we all know how windows does with servers. And MacOS... yeah, just no.

0

u/LG-Moonlight 1d ago

Linux 100% and not even close. I want stability, reliability and customizability.

1

u/starkk46 1d ago

I can see why. Stability + reliability + customization is a pretty strong combination, especially for development work. 🐧

0

u/Top-Artichoke3782 1d ago

its linux without a doubt. you are placed in an environment where you are forced to learn os related concepts at all times and that often translates to you just being more wise in regards to coding in general.

0

u/Global-Eye-7326 1d ago
  • WSL is a headless VM, so Windows + WSL is two operating systems
  • If the Windows user can get WSL, then I'll run Windows in a VM using KVM/QEMU or Winboat lol
  • Linux would be my top pick because I use it full-time anyway
  • Much of my development has to do with AI, and Linux gives me more headroom than Windows in DRAM, and also gives me a native Bash terminal, simply a no-brainer
  • You also didn't say "no SSH" to another computer. So I could still do coding from a Linux machine and play on a Windows/MacOS/anything computer

0

u/Positive-Pepper-8315 21h ago

Linux for my personal workflow and server stuff and windows sometimes require for emergencies

-1

u/Severe_Reality991 1d ago

Linux its limitless

1

u/starkk46 1d ago

The amount of control and customization Linux gives you is definitely one of its biggest advantages. 🐧