On the contrary, I don't use a VM to do dev work on my mac, and it's TERRIBLE. Despite what people like to parrot, the mac shell is NOT linux compatible, is filled with tooling that literally cannot be used to make a modern application, and gets really really pissy if you try to do anything different.
Brew and macports have to basically start the world from scratch again on a mac to get something resembling a good work environment, and it's STILL terrible. Every single time my work laptop updates anything, I basically have to rebuild those environments again because Xcode overwrites anything I may have configured back to defaults, defaults which were deprecated and non-viable for a secure product like a decade ago. I run into issues with the included version of SSL like twice a month, all because apple refuses to do the leg work to manage the licensing for more modern versions.
Meanwhile in windows world, I can download a nearly full version of ubuntu with one click, run it as if it lives on it's own box, and yet still use tools that jump the layer between windows and linux to make it seem like it's not even there. It's pretty powerful. In some ways, the single best linux installation is the one you get on windows. It's so seamless I use powershell, CMD, and the linux shell interchangeably on my computer.