3 ms·
Not an Apple Silicon user myself, but I have had to maintain shell scripts and cross-platform applications _for_ these users. Aside from these following niche i
by AaronFriel 4y ago
Not an Apple Silicon user myself, but I have had to maintain shell scripts and cross-platform applications _for_ these users. Aside from these following niche issues, I've heard nothing but good things about performance and battery life.
I myself use Linux (Ubuntu/Arch/NixOS) via Windows WSL2.
I would say that the developer experience on MacOS (with or without Apple Silicon) is "sufficient" for the vast majority of use cases, but there have been some pain points that I describe below as emblematic issues.
If you're developing applications that are intended to run on Linux servers or with specific hardware (CUDA/ML), perhaps MacOS is not the best tool for the job. In that niche, you're likely to be running a different OS, on a different architecture, and perhaps even relying on binary translation (Rosetta 2) to run the same applications as in your target environment. For these sort of "close to the metal" development roles, I recommend aligning your developer stack with your target.
For the vast majority of other development roles, from data engineering to frontend web, I admit to being a little envious of what folks say about their Apple Silicon devices.
Examples of issues I've seen recently with development on MacOS (with or without Apple Silicon). Keep in mind, these are edge cases these days and only listed as examples:
* Major impediments to using the Python gRPC library on Apple Silicon until very recently (https://github.com/grpc/grpc/issues/25082 https://github.com/grpc/grpc/issues/25082)
* Docker performance was dramatically worse than Linux & Windows until recently, with a recent update improving things for all Mac users, not just Apple Silicon (https://www.docker.com/blog/speed-boost-achievement-unlocked-on-docker-desktop-4-6-for-mac/ https://www.docker.com/blog/speed-boost-achievement-unlocked...)
* Performance of virtualized x86-64 applications work against many of the performance benefits of the M1/M2, this is especially prevalent with Docker containers that are built only for x86-64.
* Homebrew is an absolute must, do install script maintainers and colleagues a favor by installing the latest GNU userland (coreutils), as your Mac will come with GNU utilities circa 2007 (the last GPLv2 releases of GNU utilities)