I've been a solid user of a MacBook Pro for the past 9 years. The main reason for this has been because of both the solid build quality and the UNIX based operating system that enabled me to utilise the majority of development tools whilst allowing me to use the Adobe suite.
Development tools, especially PHP and NodeJS typically ran poorly in Windows. Plagued by strange compatibility quirks a significant amount of development time was spent overcoming that. Not so on OSX on my trusty Macintosh.
This continued right up to 2017 when Apple changed everything about its new Macbook Pro. Replacing the familiar top row of the keyboard with a touchbar, replacing the keys with new butterfly switches and finally jacking up the price (which especially seemed unfair to me in the UK as the US models were almost the same price with the currency symbol changed). This made me realise that Apple was no longer for me.
The natural decision for me is to go back to Linux and find a laptop with Linux pre-installed or one with Windows which I'd quickly write over. However, my trusty MacBook Pro had a few more years of life to it.
During the latter years of my Apple usage Microsoft famously announced that they love Linux. This has brought some fantasic integration with Microsoft Azure and most importantly for us developers, WSL.
If you don't already know WSL stands for the Windows Subsystem for Linux. It's a compatibility layer between Windows and the Linux kernel. Think of it as like a little translator allowing your Windows machine to speak to Linux. It's different to a virtual machine because it's actually running the processes on your main operating system.
WSL is great but there was a number of disadvantages. It was often slow with some file-system operations and some software flat out didn't work because it was beyond its capabilities. The recommended way to develop was still to have a share on your Windows file system which creates issues with permissions and sometimes the dreaded file locking problem.
However, in 2019 Microsoft announced that they were working on a new version of WSL, succinctly called WSL2. WSL2 is different to WSL in that it actually is a virtual machine - but with a difference. Unlike the typical VM set up that you may have had in the past with VirtualBox or VMware it's tightly integrated. You get little bonuses like you do with WSL1 where you can easily access the file system of your linux environment and even invoke windows executables inside linux.
cat ~/.ssh/id_rsa.pub | clip.exe is always a useful command to know! (This copies your ssh key from WSL2 to your clipboard which illustrates how tightly integrated it is).
This to me was a huge turning point and made me decide to bit the bullet and get a Dell XPS 13. For £1500 ($1800) I managed to get an i7-8565U Processor with 16GB of RAM and a 4k display. An equivalent mac would cost me about £2400 (~$3000)
So far so good the performance advantages that I've had over my old mac are significant and Windows 10 is much better than the Windows of old.
I'd recommend anyone that is considering a new dev machine to consider doing the same and not pay the Apple tax.