Which OS would you use for Software Development (Node.js)?
I would love to build applications for MacOS since I don't have one, I have to stick with windows for a while.
I guess, in the today's date we don't have to worry about building application for all different operating system, since we have handy frameworks like Electron and React Native to do the hard work behind the scenes.
I've used all three (including Linux here) for my main development machine over the past few years. For Node, you can use any of them and it's completely fine. Windows has gotten so much better with WSL (Windows Subsystem Linux), and WSL2 coming soon which is going to make it 10x easier, allowing you to have a bash command line right in Windows. The Node team has also made sure that the "get up and running" experience is as smooth as possible on all platforms.
Having recently been given a Mac for my newest job, the experience overall has been really smooth, but there are a few things like window management that I'd rather have Windows for.
Linux is great, but if you don't want to have to deal with a lot of setup, getting certain pieces of software to work, possible driver mis-matches, etc. then I wouldn't really go for it unless it's something you're interested in taking on.
TLDR: Pick whatever you have the most access to, what's within your budget, and what you enjoy working on.
Though I am on Windows most of the time at the moment because of reasons, I'll switch back to Linux once I get my hands on a new Ryzen processor. I prefer Linux, because I can modify it just the way I like it. Also, there are a lot of good DEs, which are out of the way (something which I absolutely cannot say about Windows...).
Why Linux is not included? Any way, I use Windows as of the moment but will switch to Linux some time around this year.
Todd
Software Security TechLead
I was tempted to pick Windows since my main home machine (the one Im typing on) is Windows.. But I chose macOS ONLY because of two reasons:
1) You said "software development" 2) macOS is unix-based and the vast majority of open source software seems to be geared more toward Unix-based systems than Windows.
Those are literally the only 2 reasons. Now adays, Windows can do anything any other system can and especially with WSL and built-in Linux, it will soon catch up and I'll probably go back to Windows Full-Time.
Windows has far better debugging tools, hands down, than Linux or macOS systems. If you want to argue, find me a suite as complete as Windows sysinternals, a visual debugger which rivals x64Dbg, Immunity Debugger, and/or WinDbg on any other system. Additionally, people bash OSes and have no clue what they're talking about much of the time. For example, I used to heavily use VirtualBox at work on my Windows machine a couple years ago. VBox would crash my kernel every so often (once a week or more) and people would laugh and tell me me to get on a macOS or Linux.
Now at work, I have ALL THREE work machines... macOS, Linux, and Windows. Guess what? VBox driver crashes my macOS kernel and my Ubuntu machine also locks up too... Humans love to pick a side and argue reasons as to why their choice was better... Stick with the facts.
Some things are better as GUIs and for those things, Windows tends to have the better software most of the time. Exception being macOS which tends to have better photo, video, an audio editing software support as well as peripheral device support. All that aside though, I prefer Windows' GUI interface.