I've used DOS, Windows, Linux and OSX. I started with DOS like everyone born in the 1980s. Then Windows. Then used Linux in my first job (server still run Linux so day to day I use Linux a lot, just not desktop). Then 2 jobs later I was given a Mac and Linux desktop. Didn't use the Mac for a solid year, at all (Linux desktop). Then I was like, ok let me see what the fuss is about.
So while I used Linux, I still used Windows at home. Once I switched to Mac I stopped using Windows at home (still have the machines around but they aren't turned on anymore).
There will be plenty of people on here with an ax to grind, but as a software engineer, I'd say your best experience overall will be on a Macbook.
Arm Macbooks run just fine for all the popular IDEs.
My day job is mixed langauge, I switch between C/C++/Java/Python/Ruby/JS (npm). Haven't had any issues with any of them (except maybe when using really old versions of ruby like 1.9.3 which required a bit more effort to compile on my ARM Mac).
Some of the upsides for me with using Mac as my developer machines is that the terminal (ssh) is more like the servers I need to code for (POSIX in other words).
gcc is also very friendly to use on OSX.
The days where I need to reboot my laptop are long gone and I've stopped using a mouse ever since I started to use the macbook track pad (omg the difference between a Windows track pad and mac is like smartphone vs nokia huge).
So yeah I didn't stop using Windows because I hated it, I just drifted away from using it and I honestly don't ever see myself going back.
There are just too many pluses with Mac.
I still use an Android phone, so I don't really drink Apple coolaid.
IMO they just make a superior personal computer.
For products like TV and smart phone I much prefer other products because I feel the experience on those products are superior to Apple.