5 ms·
Wow, it's that bad for developers of their own platform? I do rails development and left OSX for linux a few years ago after finding all the custom song & dance
by meesterdude 10y ago
Wow, it's that bad for developers of their own platform? I do rails development and left OSX for linux a few years ago after finding all the custom song & dance to do things on apple was painful. Not a day goes by I am not grateful for doing that, i am much happier doing web dev on a linux box.
But I was under the impression Apple at least took care of the devs who work on their platforms.
As someone else has noted: vote with your keyboard. I do ROR web development in part because I am free of many of the constraints other devs must face on custom platforms.
If you don't like doing dev with Apple, don't do dev with Apple. Either pick better tooling (if available) or ditch the platform (if possible).
- tlrobinson 10y agoCan you give some examples of advantages of doing ROR development on Linux vs Mac?
- michaelmrose 10y agoI'm not the original commentor but a better package manager has got to be in that list.
- nurettin 10y agoWhy isn't brew good enough?
- AsyncAwait 10y agoHomebrew is rather limited in what it can control, i.e. in Linux almost everything is under the control of your package manager, there's no tracking, updates roll faster if you're on something like Arch and the overall user interface makes more sense. I've also found that homebrew packages sometimes don't contain the necessary header files for development, (i.e. imagemagick), so you're forced to switch to MacPorts just for that and it's altogether more painful than on Linux. It also simply just doesn't feel like a lot of the tools target macOS, there's an outdated bash shipped by default and Apple even broke curl recently[1]. 1 - https://daniel.haxx.se/blog/2016/10/11/poll-on-mac-10-12-is-broken https://daniel.haxx.se/blog/2016/10/11/poll-on-mac-10-12-is-...
- antfarm 10y agoHave you checked /usr/local/Cellar/imagemagick/7.0.4-10/include/ImageMagick-7/MagickCore/ ?
- meesterdude 10y agodoing dev in linux, the commands you run locally are the same ones you run in production. You install the same packages and control them in the same manner. I'm more comfortable in production because production is very similar to my local machine. my dev machine is a VM, which gives me a ton of other benefits, like portability, resizability, backups, versioning, and overall stability. I can (and have) given devs my VM to get up and running immediately on a complex project, without having to do a lot of setup. With each OSX update, usually stuff broke, needed to be reinstalled, or performed differently. With Linux, that is not the case. And with a linux VM, I can ride out host upgrades and keep plugging away with a machine i know works - or attempt an upgrade on a cloned VM and have a trivial way to backtrack if it fails.
- ben_jones 10y agoNot a RoR dev but I imagine his deployment environment is also linux, and many of the tools he uses likely run better on Linux (as OSS usually targets linux first). Correct me if I'm wrong but Docker for example, although I think they brought parity recently, was always easier to get going on Linux then Mac.
- majewsky 10y agoDocker is, in fact, impossible to get going on Mac OS. When you see "Docker for Mac", it's launching a Linux VM under the hood, and patching you through to that VM's Docker daemon.
- Mandatum 10y agoIs that still the case? If so, that's crazy - as bad as the old Windows installs with vbox. However that being said, if that is still the case, they must have a wrapper on top of it since I didn't notice much of a difference at all between OSX docker usage and Ubuntu.
- ajdlinux 10y agoIt's not crazy, it's kinda hard to implement containerisation yourself in a proprietary OS kernel that you don't control... However, as of fairly recently, IIUC Docker for Mac uses macOS's native hypervisor framework rather than relying on VirtualBox as it used to.
- majewsky 10y agoNot the grandparent, but I can share one example: Our team deploys OpenStack and is developing a custom dashboard in Rails. I'm more of a backend guy, although I also do my fair share of frontend development. But I had a ticket in my sprint, just a tiny UI bug, but I was busy in the backend, so I asked a junior dev to take care of it. He cloned the repo, then proceeded to fight with rbenv and postgres and what not on his Mac for a full 2 days, until he gave up and spun up a Linux VM on OpenStack to work on the Rails app in there. Sure enough, he got up and running in there in under an hour. Shit like this is why I do all my development in a VirtualBox with Arch Linux. While my co-workers argue about the best way to install Docker on their Macs, I just `pacman -S docker && systemctl start docker` and get on with my life.
- Longhanks 10y agoReplace Mac with Windows and you've got the same problem. It's the junior's fault for trying to fight the system.
- majewsky 10y agoThe difference is that on Windows, most developers expect Unix applications to just not work. (The fine print: I can't comment on WSL.) But macOS was always sold (by other developers) as "the intuitive UI plus the power of Unix", so I'd expect to get Unix applications going with a negligible amount of yak-shaving, esp. something like Rails that is used by latte-sipping Mac hipsters across the world.
- manmal 10y agoHe likely had some old Macports or whatever binaries lying around in his $PATH (it was that for me the last time some libs didn't compile). Would Linux be immune to that, if you had 2 concurrent pkg managers? You could probably run vanilla macOS in a VM without running into any problems.
- majewsky 10y ago> He likely had some old Macports or whatever binaries lying around in his $PATH (it was that for me the last time some libs didn't compile). He only ever used Homebrew as far as I know. > Would Linux be immune to that, if you had 2 concurrent pkg managers? How would that ever happen?
- mahyarm 10y agoThe tooling is a lot worse in swift land than objective-c land. In Obj-C land compiles are fast, the debugger works and is stable and the indexer works just fine. The entire pbxproj format is horrible, but at least you have stuff like BUCK (https://buckbuild.com/ https://buckbuild.com/) that can mitigate some of that. Another thing I would add to that letter are good build boxes. Bring back xserve, so we have CI that is not based on mac pros or mac minis. Android devs, even though they have build tooling options with java, have other problems that make developing on their platform painful. Their simulators are bad compared to iOS, the fragmentation / lack of updates is pretty annoying and overall it's harder to deliver good equivalent android apps than it is for iOS. iOS as a software platform is actually pretty solid. What do you use to develop on? Any specific laptop or is it a desktop?
- SmileyKeith 10y ago> The entire pbxproj format is horrible, but at least you have stuff like BUCK (https://buckbuild.com/ https://buckbuild.com/) that can mitigate some of that. FWIW I'm still not sure what the BUCK workflow is suppose to look like for most teams. It seems like if you use BUCK you're expected to not use Xcode even as an editor, yet there isn't another editor to pick up the slack (assuming you want autocompletion and decent highlighting). I think there's still a lot of work to be done for it to be a viable replacement, even for Objective-C, for Swift it's even further away.