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.
I may have misunderstood this, but System76[0] specifically make 'designed for nix' desktops and laptops.
System76 looks really interesting and if it works like Mac, it's awesome.
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.
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.
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.
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).
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.
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.
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.
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).
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.
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.
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.
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.