5 ms·
> Linux is the only option that gives you the freedom to... And exactly how is Apple or the use of a Macbook restricting your toolset in every way. OSX is UNIX
by PebblesHD 11y ago
> Linux is the only option that gives you the freedom to...
And exactly how is Apple or the use of a Macbook restricting your toolset in every way. OSX is UNIX compliant and will run damn near any tool a generix Linux distro can, with the added bonus that it wont take a thousand years to configure and maintain. Add to that the ability for enterprise to use a policy server and even domain logons with limited hassle and it forms quite a reasonable platform for development. Linux is a perfectly usable development OS, but OSX and Windows are just as capable given the same amount of configuration.
- dman 11y agoI have to disagree about this. As a development environment both Windows and OSX are noticeably more broken out of the box as compared to Linux / FreeBSD. Neither comes with a package manager and you have to go through a song and dance to get a compiler / debugger / profiler toolchain setup on either platform. You cant dump out the list of installed packages from your prior machine and use it as a recipe to get your new machine setup. On a linux box, I can provision a new machine and have it behave exactly as I want in under 10 minutes. Getting nfs setup with good transfer speeds was an exercise in frustration on Yosemite (Ultimately I gave up, even on an ethernet connection I cannot coax my macbook pro to do > 2 Mbps nfs transfers). On Windows I had to buy an enterprise version for NFS share support.
- duncan_bayne 11y agoWhile working on one contract, I sat next to two devs who spent at least a day trying to get Ruby 2.0 (back when it was new) and associated libraries compiling and running properly on OSX. I don't know how long they spent, they were still at it when I left that evening. All my Linux (Mint) setup is in a bunch of scripts that live in Git. I can have a fully configured dev machine running in under an hour, starting from a fresh OS installation.
- stephenr 11y agoHow long did those scripts take you to write? With similar scripts an OS X machine could also be configured.
- duncan_bayne 11y ago"How long did those scripts take you to write?" Quite a while; I haven't totalled up the hours but I'd guess several days at least. The amount of time it's saved me must surely exceed that. I've installed a good number of machines (personal, work, hacking etc.) from scratch using them. I generally don't bother upgrading OSs, either; I just perform a fresh installation, run the scripts, and tweak whatever is broken in the latest release. History is here: https://github.com/duncan-bayne/mint-setup/branches https://github.com/duncan-bayne/mint-setup/branches "With similar scripts an OS X machine could also be configured." Not in my experience. I did spend - along with a team of very smart OSX-based developers - quite some time trying and failing to achieve a similar level of automation on OSX. We got tantalisingly close at times, but never achieved anything like the level of control possible on Linux or BSD. Edited: oh, and having those scripts on hand can be really useful when attempting to provision ancient hardware. See e.g. https://github.com/duncan-bayne/g3-setup/wiki https://github.com/duncan-bayne/g3-setup/wiki
- stephenr 11y agoI don't doubt that the scripts are useful. What issues did you run into trying to automate the setup of an OS X environment?
- duncan_bayne 11y agoIt's been a couple of years, but I remember the main pain points being: * versioning: we wanted to get very specific versions of things (DB servers, JDK, etc.) on our dev boxen to replicate production as closely as possible * breaking changes to OSX: it seemed as though every new version of OSX broke All The Things. It wasn't easy to do what we'd do for Linux, that is, mandate "start from a fresh installation of Ubuntu 12.04 LTS" * breaking changes to tools: the software management tool we were using (I forget the name, it was written primarily by a guy here in Melbourne) kept changing in ways that made things difficult * massive installations: I seem to recall downloading GiB of data per machine, something about installing XCode through iTunes * iTunes: again this is going from memory, but I recall there were certain tools we used that wouldn't install nicely from the CLI, only through iTunes * hardware-specific OSX discs: I also recall having issues with having to have the right installation media for the right hardware (ours was, errr, not homogeneous) All in all, it was death by a thousand cuts. Everything 'sort of' worked, but new versions changed things, new hardware changed things, ... it was very, very rare to receive a new Mac and just be able to deploy our dev environment to it. Perhaps things have changed for the better in the past few years, and we certainly did have an odd (publishing industry specific) set of tools and requirements. But the experience really did suck.
- rmc 11y agoSaying OSX is UNIX compliant is technically correct, but just as misleading as saying that since OSX and (say) Ubuntu all all unixes, that they are just as good. Does Ubuntu have the same UI & UX features as OSX?