3 ms·
It has always bothered me that developers insist on using Macs for development. Sure, it’s Unix, but how many servers are running macOS? Zero. You need to deve
by orev 8y ago
It has always bothered me that developers insist on using Macs for development. Sure, it’s Unix, but how many servers are running macOS? Zero.
You need to develop on a platform that matches what’s running in production. Production almost always uses some form of Linux, so you at least need a local VM running Linux. Then it doesn’t matter if you have Windows or Mac as your main OS, and you can use the tools you need in those platforms, but otherwise actual builds and testing should be happening on the VM.
- hannofcart 8y agoEven in my company, we have a mix of Macs and Linux machines with our infra running on dev machines via docker-compose. While this ought to make machine specific tinkering unnecessary, it's never the case.
- jmull 8y agoIf it doesn't matter whether developers are running MacOS or Windows, why does it bother you that some developers prefer Macs? Isn't completely fine?
- orev 8y agoYou are mischaracterizing the discussion. The builds and testing should be done in an environment that matches production, and macOS does not match any production server environment available today. Developing on Macs is frequently done on the MacOS itself because it’s Unix so people think it’s close enough. Once you use a VM for the builds and testing, then it doesn’t matter.
- Slippery_John 8y agoIt's close enough to linux for most use cases. I can count on my hands the number of times I've needed to spin up a linux machine to debug an issue in the last four years. In the meantime I have an OS that I don't have to constantly maintain while also having access to up-to-date packages via homebrew.
- toast0 8y agoI agree completely. I run FreeBSD on servers, and macOS userland was ported from FreeBSD (once, in 200x and rarely touched again), so there's more parity than Linux, but there's still plenty of things that are different, so once I buckled down and started using a VM to run my code, Dev and prod were a lot better matched, other than perf. Also, it's not very many of our users are running macOS on their desktops, so any desktop testing had to happen in a VM or another computer too.
- stronglikedan 8y ago> You need to develop on a platform that matches what’s running in production. I disagree. As long as you can test on a platform that matches production, then you should be using whatever development platform makes you most productive. All major OS's are a means to the same end, each with their own unique strengths and weaknesses, but all perfectly capable.
- nnq 8y ago> You need to develop on a platform that matches what’s running in production Docker is well supported in MacOS. Much less issues than on Windows. If you want "one device to rule them all" you'd pick a Mac, if you can have multiple devices you can have your main one be Linux, sure.