I Really Don't Understand Why Developers Use Macs At All. They're Not ...

Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
_qc3o on Oct 30, 2016 | parent | context | favorite | on: Elementary OS I really don't understand why developers use macs at all. They're not good dev machines. All production systems I work with are some flavor of linux (mostly ubuntu). There is actually a real impedance mismatch when I'm using my mac for work purposes. All those cores and RAM become meaningless when I have to do everything in a VM anyway. My personal dev machine is a project sputnik running ubuntu 16.04. I can understand why designers would use them but programmers never made any sense.
vbezhenar on Oct 30, 2016 | next [–] 1. It's UNIX (more or less, but it's much more UNIX, than Windows), it's familiar bash, grep, awk, etc. It also has proper and popular package manager for command line programs (actually 2, macports and homebrew).

2. It just works. You don't have to configure anything, every hardware part functioning properly and it's guaranteed that this will work in the future without any hassle. You don't have to think about drivers, kernel versions, sleep/wake up scripts, swap. You just install OS and start to work. That's on macs, of course, hackintoshes are more like Linux in that aspect.

3. A lot of hardware designed for Macs. I have yet to see a device which will claim that it support Linux. Yet almost anything will work in Mac. Windows is better, of course, but Mac is good too. With Linux you better google it before you buy it, and even then something might be not perfect.

4. They are nice machines overall. Good enough quality, good casing, good design, good internals, good service. Not best, but not much drawbacks.

5. GUI is pretty nice and pleasant to use, there is a lot of GUI software for macs and almost every useful Linux program will have mac port (but not the other way). Linux doesn't have so polished user experience. Though it's not that important for power users, but it's nice to have IMO.

AsyncAwait on Oct 31, 2016 | parent | next [–] > it's guaranteed that this will work in the future without any hassle

I wish this was true, but I always hold off updating my work MBP at least 6 months, before all the issues with the newest release are resolved. I remember updating to 10.7 since 10.6 was a solid release and it was a nightmare. There's a bunch of stuff broken with 10.12 as well, including a bug which prevents curl from working well and a bug which makes Duet less reliable under Sierra.

AsyncAwait on Oct 31, 2016 | parent | prev | next [–] > They are nice machines overall. Good enough quality, good casing, good design, good internals, good service.

I'd agree with the aluminium casing and good external design, but in regards to internals; the GPUs are very lacklustre in performance, I had a problem with my MBP showing green tint on the screen after just months of usage and have a dead/red pixel on my new display already.

The fans also do a terrible job at cooling and the CPU can reach 95 degrees C while compiling code, which makes it not so hot a dev machine, (pun intended :-)

But I agree, the service is good.

someotherperson on Oct 31, 2016 | parent | prev | next [–] > I have yet to see a device which will claim that it support Linux.

I may have misunderstood this, but System76[0] specifically make 'designed for nix' desktops and laptops.

[0] https://system76.com/

vbezhenar on Oct 31, 2016 | root | parent | next [–] I was referring to something like modem, audio card or gaming mouse.

System76 looks really interesting and if it works like Mac, it's awesome.

peatmoss on Oct 31, 2016 | root | parent | next [–] As others have mentioned, those System76 machines are rebranded Clevo laptops. Thinkpad's dominance among the OpenBSD developers is a strong hardware compatibility endorsement as far as I'm concerned.

Longhanks on Oct 31, 2016 | parent | prev | next [–] It's not more or less UNIX, it is a UNIX. It's certified by the Open Group. See http://www.opengroup.org/openbrand/register/brand3627.htm

peatmoss on Oct 31, 2016 | root | parent | next [–] When OS X was released, this claim to fame was more exciting than it is today. Nowadays, Linux / GNU dominates what it means to be a mainstream Unix-like operating system.

The extent to which other *nixen deviate from this determines how much of an uphill battle one will face. And I say this as a lover of OpenBSD, and someone who wishes Linux weren't such a dominating de facto standard.

But the Open Group--I can't think of one reason why UNIX certification has mattered for a good number of years now.

Osmium on Oct 30, 2016 | prev | next [–] > I really don't understand why developers use macs at all.

I don't want to single out your comment, but there's been a lot of this lately (and every time this discussion comes up).

There's no one true version of a 'developer' or a 'pro.'

Broadly speaking, people will be most productive with the tool they know best. And the 'real' pros can be productive with just about anything.

For myself, I consider myself a developer too, but my workflow is probably very different from your workflow. My main machines are a MacBook Pro (2012) and a hefty HP workstation (64GB RAM, dual Xeons) running Ubuntu. There are things I use the Mac for that I'd struggle to do on the HP, and vice versa. But that's just me... But the idea that there's 'one true dev' or 'one true platonic ideal' of a development machine, is just crazy. And that's why I think a lot of this recent Apple criticism is missing the mark (especially when there are plenty of things to criticise Apple for, if that's what one wants to do).

_qc3o on Oct 30, 2016 | parent | next [–] My preferred toolchain and stack just works better on a native linux box because it doesn't need virtualization overhead when I'm on a linux box. Those efficiencies add up pretty quickly. Since I mostly do backend dev work macs have never worked for me as they should.

To address your point about this being a recent trend I actually noticed the mismatch when I first moved to the bay area 5 years ago. It seemed weird to use a mac as a dev machine and then deploy to a ubuntu box in production. There was always some issue that came up because whoever was doing the deployment didn't verify things in a VM first and then had to do some firefighting on a production box.

This wouldn't be a problem if workplaces gave you the option of getting a linux box or a mac. At most places you don't have a choice. All the IT management software is built for a mac so you get a mac.

tigershark on Oct 30, 2016 | root | parent | next [–] Seriously??? In that case the real problem is pushing directly from a dev machine to prod. It is simply crazy not to use a staging server. I bet that even if the Dev machine has the same OS as prod a lot of shit happens when not using a proper staging server (been there seen that). So the production problems that you experienced are completely unrelated to the OS on the dev machine. They are simply caused by the wrong deployment process.

_qc3o on Oct 30, 2016 | root | parent | next [–] We can go around circles for days. The fundamental issue still stands. You are losing time and spending effort working around OS mismatches because your dev machine and your production servers do not line up. Adding a staging server moves the problem one level higher. You will still spend however long it takes to fix whatever mismatch was caused by the differing environments.

tigershark on Oct 31, 2016 | root | parent | next [–] I develop on windows and deploy on Linux. I have done that for more that 10 years and I never found a problem that wouldn't have happened if I developed on Linux. And obviously I always deployed first on test, then on stage and only at the end in production. What kind of problems did you see that happened because of developing on Mac OS instead of Linux? The only ones that I can think of are all caused by a wrong deployment process.

_qc3o on Oct 31, 2016 | root | parent | next [–] Try setting up a virtualenv on windows, linux, mac and then tell me there are no issues. Sometimes the versions won't even line up for some libraries because whatever works on windows will not work on linux will not work on mac. Same with ruby gems and npm modules that require compilation.

tigershark on Oct 30, 2016 | prev | next [–] Maybe because after decades I'm frankly pissed of all the infinite glitches in windows and Linux and I want something that just works? Every hour spent in fighting those problems is real money that I lose, but above all I want to write code, not to fight with a machine. I'm not 16 anymore (when I had all the time of this world and when I even enjoyed the fight), now I just want to use my time to write code instead of wasting it. Simply as that.

minitech on Oct 31, 2016 | parent | next [–] > Maybe because after decades I'm frankly pissed of all the infinite glitches in windows and Linux and I want something that just works?

I actually ended up switching from OS X to Linux (on a MacBook) for this reason. Things break all the time, but at least I can usually figure out how to fix them on Linux. (OS X would freeze at random times, requiring a hard shutdown, and also sometimes resume from sleep with a black screen and no way to change it, the former happening across every version and the latter only after I upgraded to Mavericks).

ant6n on Oct 31, 2016 | parent | prev | next [–] I spent a lot of time fighting with macs to get it to behave like other operating systems. Like setting up the terminal to not look stupid.

A lot of time was spent fighting to get tap-to-drag without a release delay. Still nope.

Overall, it can be a pretty infuriating operating system as well.

peatmoss on Oct 31, 2016 | root | parent | next [–] I don't remember when it happened, but there came a time when the amount of effort to strip and disable stuff in Mac OS X became more of an effort than free *nixen. Sometime later, I made a small investment in swapping a desktop environment for a vanilla xmonad, and I couldn't be happier with the minimalism and lack of distractions.

_qc3o on Oct 30, 2016 | parent | prev | next [–] I agree but how does a mac deliver that experience? How hard is it to fuck up installing the required dev toolchain and then jumping into Vim or your IDE of choice to get work done? How does a mac help with any of that?

I've never run into any issues with my dell machine and it started with ubuntu 12.04 when I first got it. Each upgrade has gone without any hitches or glitches.

jswny on Oct 30, 2016 | root | parent | next [–] Simply getting Linux onto a lot of my machines with working graphics, audio, and other drivers is a pain a lot of times.

AsyncAwait on Oct 31, 2016 | root | parent | next [–] If you intend to purchase a system with the intent of running linux on it, please consider a system76, (or any other Clevo reseller, such as Scan Computers in the UK) or a Lenovo that is known to work well or the XPS Dev Edition and you'll have much better time getting all these things to work, (usually out-of-the-box) than on a random PC meant to run Windows and nothing else.

redial on Oct 30, 2016 | prev | next [–] You don't need to understand anything, you just need to accept that not all people are like you. Some prefer pepsi(ugh), some like red, some enjoy winter more. And some like using a Mac.

Why you are trying to group everybody together is beyond me. There are hundreds of programming languages, dozens of popular platforms, maybe hundreds of niche ones. There is no one single, correct solution, just as there is no one single answer to your question, because there is no one single deleveloper, there are millions, and some enjoy the stark look of a terminal and others prefer to look at pretty icons.

jsz0 on Oct 31, 2016 | prev | next [–] > All those cores and RAM become meaningless when I have to do everything in a VM anyway.

Virtualization is a bit less efficient but it certainly does not prevent you from utilizing multiple CPU cores or all your available RAM -- minus the resources consumed by the host OS of course.

pjmlp on Oct 30, 2016 | prev | next [–] > I really don't understand why developers use macs at all.

Because there are developers on this world that don't develop for UNIX, rather native applications for macOS, iOS, tvOS and watchOS.

Being a developer doesn't mean one is only allowed to work on UNIX.

numerlo on Oct 30, 2016 | prev | next [–] In short, they provide a good enough Unix experience in a machine that just works™. Or used to, depending who you ask.

toefraz on Oct 30, 2016 | prev | next [–] > It has polish and care that the stereotypical raging neckbeards who espouse the mantra of Linux on the desktop are unable to appreciate (or, apparently, build), and it has to exist, even if merely as a counterpoint to all the ugliness.

_qc3o on Oct 30, 2016 | parent | next [–] That's the part I don't get I guess. I'm either in Chrome, Vim, some IDE, or experimenting in some REPL. There isn't much room for improving ergonomics in any of those instances by adding extra "polish". I prefer my technical aesthetics to be compositional instead of pretty and the dell machine I have with ubuntu delivers on that front very nicely.

cgh on Oct 31, 2016 | prev | next [–] Imagine the Venn diagram of "Has a Unix environment because we deploy to Linux" and "Can run MS Office, including Outlook". The intersection has the word "Mac" in it. That's why our entire team was issued Macs (I work in a 70,000 person company) and lots of other developers choose it too.

erikpukinskis on Oct 31, 2016 | prev [–] I pretty much don't use any technology outside of Node, the browser, and HTTP so it doesn't really matter to me what platform I'm on.

Maybe I'm not a real developer according to your standards. Not enough configuration files and build systems modeled in my brain to qualify. I just prefer code to black boxes.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact Search:

Tag » Why Do Programmers Use Macs