4 ms·
>The amount of pain involved in setting up a coherent development environment in OS X is almost comical after setting up an equivalent in Ubuntu or Fedora. For
by redthrowaway 13y ago
>The amount of pain involved in setting up a coherent development environment in OS X is almost comical after setting up an equivalent in Ubuntu or Fedora.
For what kind of development? Web dev is pretty damn straightforward and pain-free.
- cheald 13y agoWell, setting up a working Rails install involves, among other things, installing homebrew, xcode, xcode command tools, apple-gcc42, and then manually symlinking all your gcc binaries to the homebrew versions rather than the xcode versions, for example, then making sure that you get certain binaries compiled with certain compilers, lest everything just break horribly down the road, at which point you have to manually rip it all out and re-do it the right way, because accidentally invoking the wrong gcc binary will hose your whole install. Homebrew makes it work, but you're basically at the mercy of this third-party package system to keep things working, because the OS itself is broken for this kind of work. Apple not shipping anything that is GPLv3 means that you have to rely on homebrew, which works great except for when it doesn't, and you end up six hours deep into troubleshooting it. We've run into numerous edge cases where things don't quite work right in OS X, even though it's ostensibly still a POSIX toolchain. The number of hacks, workarounds, and kludges in our OS X environments far exceeds that which our Linux environments have to deal with. It's by no means impossible to set up, but it's a hell of a lot more complex than it's ever been for me on Linux. I run both a rMBP and a Fedora machine, and development/experimentation is a lot easier on the Fedora machine, because the whole OS is actually built around the concept of a sane package manager and standard library/compiler toolchain, and isn't crippled by licensing pathologies.
- m_mueller 13y agoI have a different approach: Every project gets a clean slate in the form of a fresh VM with the most compatible linux distribution (usually Ubuntu server). OSX is not great as a POSIX developlment environment, but it's a good host because of its hardware integration / support. For the project I'm working on now I even went a step further and created a docker image to run inside the VM, in order to get it ready for rollout.
- eonil 13y agoTotally agree. Whoever testing product on dev machine is all idiots.