Windows is the worst OS for developers and should be avoided at all cost. It was simply not made with us in mind. Scripting capabilities are limited, PowerShell is badly designed and poorly documented, and WSL2 fails with cryptic errors at any task that is remotely low-level. Windows is a bloatware: there is a huge amount of pre-installed software you don't need which slow down your PC, take a lot of memory and disk space, and that you can't uninstall...
MacOS is already a far better choice but has too many protections, so you can't configure things you'd like to change, and Docker doesn't run properly because of OS permission issues.
Linux is the best dev+gaming option. You get an even better developer experience as with a Mac, a computer with the same specs costs half the price of a Mac and lasts twice as long, and also the OS doesn't spy on you and is built with free software. It was not the case a decade ago but now there are a ton of gaming-oriented distros to chose from (beware of SteamOS which is not that great tho).
If I were you I'd dual boot your Windows PC with 25% of disk space for Windows just for games that don't run elsewhere, and 75% of disk space for Linux that you'd use for everyday computing, developing, and gaming.
Things like how you can't access network sockets low level, and you can't access USB devices properly for flashing with UF2 (i.e. STM32 devices). That's just two recent issues I've had.
Solo Linux user here.
I literally have a Celeron G3930 with 4GB RAM and Integrated Graphics.
It's already enough to game nicely(War Thunder mainly) and programming is smooth.
XFCE 4 with Manjaro Linux, running Linux 5.10
I've never had my computer so stable in my life before Linux. Already ran Windows on it, barely could use it properly. Tried Hackintosh, was horrible.
Hard disagree on PowerShell. Its actually quite well documented and the fact it outputs objects instead of texts makes scripting so much easier. Not to mention the direct access to .NET classes/objects.
Windows < Mac < Linux
Windows is the worst OS for developers and should be avoided at all cost. It was simply not made with us in mind. Scripting capabilities are limited, PowerShell is badly designed and poorly documented, and WSL2 fails with cryptic errors at any task that is remotely low-level. Windows is a bloatware: there is a huge amount of pre-installed software you don't need which slow down your PC, take a lot of memory and disk space, and that you can't uninstall...
MacOS is already a far better choice but has too many protections, so you can't configure things you'd like to change, and Docker doesn't run properly because of OS permission issues.
Linux is the best dev+gaming option. You get an even better developer experience as with a Mac, a computer with the same specs costs half the price of a Mac and lasts twice as long, and also the OS doesn't spy on you and is built with free software. It was not the case a decade ago but now there are a ton of gaming-oriented distros to chose from (beware of SteamOS which is not that great tho).
If I were you I'd dual boot your Windows PC with 25% of disk space for Windows just for games that don't run elsewhere, and 75% of disk space for Linux that you'd use for everyday computing, developing, and gaming.
^THIS
What kind of cryptic errors did you encounter in WSL2?
Things like how you can't access network sockets low level, and you can't access USB devices properly for flashing with UF2 (i.e. STM32 devices). That's just two recent issues I've had.
Plenty of them, I left Windows years ago, but on top of my head:
npm install
of simple, front-end-only packages, that failed due tonode-pre-gyp
Solo Linux user here.
I literally have a Celeron G3930 with 4GB RAM and Integrated Graphics.
It's already enough to game nicely(War Thunder mainly) and programming is smooth.
XFCE 4 with Manjaro Linux, running Linux 5.10
I've never had my computer so stable in my life before Linux. Already ran Windows on it, barely could use it properly. Tried Hackintosh, was horrible.
Hard disagree on PowerShell. Its actually quite well documented and the fact it outputs objects instead of texts makes scripting so much easier. Not to mention the direct access to .NET classes/objects.
You've lost me in the first sentence.