Comment by sdcfgy
9 hours ago
We've found it to be a much worse experience than windows for dev stuff. It's a different OS and architecture to the target env (Linux). Aligning with that makes life considerably easier.
9 hours ago
We've found it to be a much worse experience than windows for dev stuff. It's a different OS and architecture to the target env (Linux). Aligning with that makes life considerably easier.
If you're using a language compiled to bytecode or interpreted, then the OS and arch don't matter a whole lot (so long as you don't have to deal with Window's weird filename conventions or other oddnesses). If you're using compiled-to-bytecode languages, there's a huge advantage in forcing your code to be cross-arch safe from day one, lest ye accidentally end up with something that can only build on the exact CPU in your devs' laptops or can only run on the flavor of WSL you're using that year.
Writing on Mx Mac and deploying on Intel Debian is a little harder in the beginning, but spares you oh, so many footguns down the road. Eventually you might want to deploy to a different OS or arch for cost or convenience reasons. That's a really bad time to find out that your project can't be made to work there without heroics.
Why not develop on the same env? I mean if I were you my macbook would just be an ssh client to the x86-64 dev box that emulates the target env. So many advantages to offshoring the compute to some server (my preference is your own hardware ofc but theres flexibility in cloud). For one, the laptop is not getting hot just being a dummy ssh client. I can spill a coffee on it during a build and nothing happens, build goes on and I am just out a thin client I can replace immediately with anything with ssh installed, my cellphone included if I am so desperate.
Linux doesn't have an "architecture".
You know what I mean. ARM vs x86-64 -and- macOS API vs Linux API.
And yes, they are different even at the user end on the shell.
All of our production Linux systems are running on Graviton these days, i.e. they’re arm64.
2 replies →