r/Operatingsystems • u/starkk46 • 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 😂
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
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/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
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
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
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. 🐧
3
u/savemeHKV 1d ago
Depends on what you are trying to achieve.