top | item 30055031

Poll HN: What operating system do you primarily develop on?

78 points| dennis-tra | 4 years ago

152 comments

order
[+] Majestic121|4 years ago|reply
Interesting to see such a representation of Windows.

My experience is that the only places where devs are using Windows is when it's mandatory, but when offered a choice, you end up with a 50/50 split Linux/MacOS +/- 25% depending on the company culture.

And even when Windows is mandatory, most devs try to find escape hatches like WSL2 or a VM

[+] dagw|4 years ago|reply
My experience is that the only places where devs are using Windows is when it's mandatory

That is a very narrow (dare I say Silicon Valley) view of the world. I know tons of developers who love Visual Studio and cannot imagine programming without it. Plus there is a whole world of developers out there happily writing and shipping software that runs natively only on Windows.

[+] kodemager|4 years ago|reply
In decades of software development in Danish enterprise and smaller companies I’ve never worked in a place that didn’t use windows. I don’t think I’ve worked in a place where using WSL wouldn’t be more of an administrative hassle than it was worth either.

Windows isn’t such a bad place to develop these days, depending on what you’re developing of course, but I’ve never had issue using Python, dotnet (as in the cli, not visual studio) or anything related to typescript or node in general.

I don’t particularly like using windows. I can’t tell you why, I used to like it, but I haven’t since I switched from 7 to 10. Which is sort of ironic considering that developing on windows has gotten much better with windows 10, but well, it’s probably just my personal opinion. So I actually often work on things on my personal Mac, which is sort of easy in todays environment if most of your assets live in the cloud which ours do. But I don’t mind using windows, about the only thing that annoys me these days is that you use “cd” instead of “ls” in the non shell terminal.

[+] MMAesawy|4 years ago|reply
I willingly use Windows. It's what I'm most familiar with, and I prefer the much nicer desktop environment where things "just work" a lot more. Anything I absolutely need to do in Linux will usually have a workaround in Windows (especially with WSL).
[+] cxcorp|4 years ago|reply
I'm not sure it's fair to call WSL2 an escape hatch. I use Windows for work because I like the more polished experience of the desktop, but I can just open up a Windows terminal instance and I've got a linux shell (via WSL2). And best of all, I can access the files directly with `explorer.exe .` if I need to.
[+] 0xcoffee|4 years ago|reply
C# still has a large mind-share in enterprise. And while it's net core is cross platform these days, Visual Studio (Windows) is still the preferred way of working for many.
[+] GlennS|4 years ago|reply
I think tech culture is just very segregated.

By contrast I'd never seen a developer use a Mac until a few years ago except maybe a few people at conferences. Then the past few jobs I've had have all been Mac-dominant.

[+] loser777|4 years ago|reply
Does this refer to the OS furthest away from what is running the code or the closest?

Windows running WSL to support a Linux environment for Python...

Windows running a web browser accessing a colab notebook hosted on a Linux machine...

macOS ssh'd into a Linux box with a tmux "development environment"...

All (my) roads lead to Linux so I'll say Linux.

[+] rvz|4 years ago|reply
It says 'develop on' not 'for', hence the mention of Desktop OSes as the client.

Basically in your case, in simple terms: Windows.

[+] samwillis|4 years ago|reply
Yes, unfortunately phrased question. I think they are asking what OS is your development environment on, not deployment target. But a little ambiguous and so will probably be slightly unbalanced in it’s results.
[+] mjrbrennan|4 years ago|reply
I use Arch Linux with dwm as my daily driver as a software engineer. Sure there is some initial pain setting it up but it’s been rock solid and super fast, never have any problems with it and I love how customised it is to my needs. I only use Windows to play games, while they may work okay with Linux this is certainly not the case with dwm.
[+] koehr|4 years ago|reply
Funny, even ironic, that the thread now starts with someone saying "I use Arch". Good meme food.
[+] creshal|4 years ago|reply
Games on Linux are still hit or miss in my experience. With very simple setups (keyboard, mouse, one GPU) it can work okay-ish, but something "exotic" like gamepads, or multi-GPU setups still cause way too many problems.

Windows is a very fine game console, in comparison.

[+] sakisv|4 years ago|reply
As an SRE I find that MacOS for me strikes a good balance between being unix-y enough but also reliable to the degree that it doesn't require me to spend time debugging why the bluetooth fails or why the VPN stopped working after I ran apt-get update.

I spent the last 6 years on various linux laptops (even a system76 one), but unfortunately I couldn't get the same polished experience as with a macbook.

[+] lordnacho|4 years ago|reply
MacOS, but mainly because the hardware is nice: big pad, nice screen, M1 eats almost no battery. You get to a time where you're a bit stack agnostic. A lot of things that would annoy ordinary users are not so bad once you get to where you can switch between OSes easily.

Between the three there's not terribly much that as a dev you can't just switch over. All your code is on a repo server, and there are IDEs for most languages on all of the OSes. According to rumor Windows scripting has caught us as well, so how different is it really?

There's a few under-the-hood things that might annoy you, eg kqueue vs IOCP vs epoll, but even that can be abstracted so that your dev machine can test things in similar way to your eventual deploy machine. If all else fails (eg I ran into an allocator issue yesterday) you can just VM anyway.

[+] agilob|4 years ago|reply
ArchLinux with Plasma 5 for everything. Coding at work, automating at work, gaming, homelab and servers. I tried Windows 10, but WSL doesn't feel the same, too many walkarounds to get to my way of working. Tried MBP it was alright, but CPU is too hot with 2 external screens not even doing any work. Attaching 3rd screen doesn't always work, doesn't detect the screen, it seems to be a power-consumption issue, and then I run out of USB ports. Linux PC has best performance with 4 screens and gives be best tools.
[+] popotamonga|4 years ago|reply
Windows by choice. I grew up with it and find it perfect. pycharm for python, intellij idea for Java, android studio for android, vs for .netcore, vscode for frontend. datagrip for db stuff
[+] Semaphor|4 years ago|reply
Very similar here, but I use WebStorm for frontend and Rider for .net 4.8 and 6.
[+] RVuRnvbM2e|4 years ago|reply
I find it astounding that so many developers use MacOS.

To do anything useful you need to install homebrew, and the hoops you have to jump through to get homebrew running are annoying. Not to mention the fact that it is a wholly unsupported third-party package management system that doesn't integrate properly into the rest of the OS.

Don't get me wrong, homebrew is awesome tech. It just seems that you have to use it to jump a bunch of barriers that Apple purposefully puts in the way before you get an actually useful and up-to-date development environment. Why do people put up with this?

[+] tgv|4 years ago|reply
It's a great machine for other things, too. And there are so many hoops you don't have to jump through. I remember wasting a whole day on trying to get some Dell's WiFi working under Linux. And then there are tools like Pixelmator, which simply have no equivalent on Linux. Not to mention that the company uses Office 365 for everything, and that just doesn't run well in a browser.

OTOH, setting up brew is pretty simple, and installing Docker is even simpler.

[+] samrolken|4 years ago|reply
What are the hoops? It installs for me in a few minutes with a single command.
[+] rawbert|4 years ago|reply
I wouldn't call copy & paste a hoop. I am still running on my 5 year old homebrew installation without any issues with Mac OS updates. I think it was worth the "struggle".
[+] Zardoz84|4 years ago|reply
I feel pity for anyone that are forced to develop on Windows.
[+] kryptiskt|4 years ago|reply
I use Windows to develop at home, and Ubuntu at work. I much prefer Windows. The only advantage Linux has is the terminal environment. The GUI is crappy. The memory handling is atrocious, if it starts swapping it'll freeze for twenty minutes before the OOM killer finally kicks in. Multiple monitor use is a crap shoot, I'll always get one black screen after resuming from suspend. Windows is miles more stable. And this on a Dell XPS 15 which is supposed to have great Linux support.
[+] andoli|4 years ago|reply
Could you please elaborate why? I found macos/ios to be the most annoying platform to develop on by far, expecially if you are trying to make some kind of cross-platform software. For webdev grunt work, in 2022, I think there are no dramatic differences between the 3 OS...
[+] wongarsu|4 years ago|reply
I used to develop on Linux, but eventually wanted something that "just works" so I switched back to Windows. Much less time spent tinkering and more time spent getting things done, and WSL saves me from having to learn Powershell (even if I only hear good things about it).

Never even considered MacOS as an option. Not as good for tinkering as Linux, and with 17% market share (both in my country and global average) it can't deliver the "everyone supports this, everything just works" that I got with Windows (it also doesn't help that Apple lately seems to happily break anything not sold by them)

[+] mojzu|4 years ago|reply
I've switched to Windows from Ubuntu on my desktop for development. I do miss some things but WSL2 is surprisingly good, the bluetooth stack doesn't randomly fail (as often) and having access to Windows and Linux tools at the same time without having to dual boot is very useful
[+] PufPufPuf|4 years ago|reply
I develop on Windows voluntarily. Funnily I was not able to set-up Docker with CUDA on any of the Linux distributions I have tried, but on Windows with WSL it worked pretty much out of the box.
[+] CodeGlitch|4 years ago|reply
In the past I always found Visual Studio to be a solid dev environment. This was for C++, where the debugger was unmatched by anything else.

Things may have changed since then (8+ years ago)?

[+] curiousgal|4 years ago|reply
Exactly. I started using it on my personal machine so that I can get used to it and make my work experience less shitty.
[+] dagw|4 years ago|reply
Why? My career as been split pretty close to 50/50 between developing on *nix and Windows. And while both have strengths and weaknesses I wouldn't say one is better than the other. If you put a gun to my head and said I could only use one desktop OS for the rest of my life I would probably choose Windows.
[+] ycuser2|4 years ago|reply
I develop on Windows and Linux, and I'm ok with Windows.

What are the main disadvantages to develop on Windows?

[+] tiborsaas|4 years ago|reply
Some might pity you for not being able to add those beefy GPU-s into your setup. I know, external GPU-s exists, which is cool if you miss the Commodore 64 era of plugging a bunch of devices together.
[+] stinos|4 years ago|reply
It's not because you don't understand something that other people cannot live with it. Dare I say, I pity such lack of imagination? FWIW I use both limux and windows, if that even matters.
[+] lonecom|4 years ago|reply
I call it "Windads" these days. Because so many Ads!
[+] Grollicus|4 years ago|reply
Which OS do you mean?

The OS where my text editor runs?

The OS where the build system runs?

The OS where the software I'm developing runs for testing?

The OS I log into first thing in the morning?

I think this poll is so unspecified the responses aren't going to be that meaningful.

[+] iso1631|4 years ago|reply
> The OS where my text editor runs?

Ubuntu Linux

> The OS where the build system runs in?

Ubuntu Linux

> The OS where the software I'm developing runs for testing?

Ubuntu Linux

> The OS I log into first thing in the morning?

Ubuntu Linux

[+] barrystaes|4 years ago|reply
The OS you primarily develop on. Where does your IDE and devex tooling run.
[+] nix23|4 years ago|reply
Emacs-OS with underlying hardware-framework/runtime ;)
[+] trhoad|4 years ago|reply
Unfortunately, Windows at work as of late. But I've been surprised at how not-that-bad it's been. With Webstorm + Windows Terminal + Chrome, I have an almost identical frontend workflow to my previous job on MacOS, and barely have to touch anything Windows-specific.
[+] marcos100|4 years ago|reply
Windows + WSL

I've used osx a long time ago and was never satisfied with homebrew. Switched to linux, but I needed excel, so switched to win + wsl. Now I don't really need excel, but the Win+WSL combo just works.

[+] netizen-936824|4 years ago|reply
I sometimes need to use windows software but I would never switch back. Windows goes in a VM, work gets done, and I stay on linux
[+] Octabrain|4 years ago|reply
I personally use MacOS for work and MacOS and Linux at home (Macbook pro and desktop PC with RHEL 8.5). Despite all the hate-on-Windows-cliche I have to admit they have been doing good things in the last years, however it’s just not for me. These are, from the top of my head, the things I dislike the most:

- Not full control over state of services running (e.g no kill -9, you can try to kill a service and it will simply tell you that you can’t despite being an admin).

- System directory tree. Not a big deal and a question of habits more than nothing.

- No culture of configuration in text files. You have to rely on Powershell. (Nothing against it, I simply don’t like it)

- The standard of using slash (/) instead of hyphens (-, —-) for arguments in the native command line tools.

- The limited set of native command line utilities.

- CMD feels limited and clunky and Powershell feels overkilling.

- It’s privative software. (To be fair, I use MacOS which is mostly privative too but I find a better balance)

- The inconsistencies on the UI in terms of aesthetics and also the mess they have with the old/new control panel options.

Pretty sure I am forgetting some more. Don’t get me wrong, I can see its good things and benefits but it’s just not my thing.

[+] JodieBenitez|4 years ago|reply
(laptops) I used OSX from 2009 to 2017, Debian from 2018 to 2021 (not my choice) and now back on OSX. Nothing against Debian specifically (and it's still my default production target in a lot of cases), but the lack of good laptop hardware and good software support for the hardware was a real pita. In contrast, the machine I have now is a real pleasure to work on: excellent keyboard and pad, totally quiet (fan-less), excellent energy management, great screen, extremely lightweight.
[+] teekert|4 years ago|reply
At work Windows (no other option), but fully in WSL2 (and a Linux batch compute cluster) so... Linux?

For personal stuff, Linux right on the silicon.

[+] scruple|4 years ago|reply
Linux has been my primary development OS since ~2008 but I had always run Windows as my main desktop OS for gaming. Over Christmas of 2021, I installed Ubuntu on my main desktop. During the fall of 2021, I was migrated to Windows 11 as part of the developer experience and did not care for it. Add to that the fact that Microsoft wouldn't support my "ancient" i7-4790k in the live release of Windows 11. They made the decision to switch to Linux for me. I went with Ubuntu so that I could easily test-drive Linux for daily driving and gaming. I've had a couple of strange snags but every game (that I play) has worked fine otherwise and many of them have native versions regardless. If/when I can spare a weekend, I'll move over to Arch.
[+] kdtsh|4 years ago|reply
I transitioned to Linux at work after Windows+WSL2 for a number of years. I went with Fedora - most of my work is with RHEL-compatible servers, so I’m somewhat familiar with the package manager. I generally develop in Emacs as it integrates well into the OS and I’m not familiar with VSCode, but I’m not averse to trying it.

A great experience on the whole. Only thing I can’t do is Remote Desktop, which is actually quite a pain and something I need to find a solution for eventually - but for now I get by. I have also found some weird GNOME bug where mouse gestures stop working when e.g. changing workspaces such that I have to reboot using only keyboard shortcuts (can’t even click reboot), this is also something I need to get to the bottom of.

[+] aklemm|4 years ago|reply
I gave Windows+WSL2 a fair shake (more than a year), but it’s just too bumbling. Back to MacOS and finding it a pure joy, rivaling the joy I had with Gnome on Linux 10+ years ago.

Might have to give Linux a try again based on these poll results so far.

[+] olavgg|4 years ago|reply
My workstation is Linux, which I mostly use. Though I have a MacBook laptop that I also use. So I voted for Linux, though MacOS is a close second.

I also use Windows for development, but that is only when I do Windows specific stuff.