You need to update your arguments. It's 2017, not 1998. I haven't reinstalled Windows on my desktop system in years and it's running perfectly fine.
Windows hasn't been less stable than a mac for years if you buy equivalent hardware (instead of scrapping together a system with junkyard parts or getting a cheap walmart laptop).
Windows does not need to be reinstalled every year if you don't treat it stupidly. My current work windows install is 4 years old, has seen two machines (disk swap) and two major windows versions (in-place upgrade), and it runs as well as when i first used it.
OS X is only faster than windows on mac hardware because apple ships bad windows drivers on bootcamp deliberately. On equivalent hardware from other vendors it is just as fast.
It sounds to me like you don't actually know windows all that well. I use a mac mini at home and a windows laptop at work, and I'd say that they're pretty much equivalent for my purposes.
1) A very large portion of other devs I know use(d) MacBooks, and
2) A very large portion of them said "F this, I'm out" when Apple released their most recent machine. Many switched to Surfaces.
Your hyperbole against Linux and Windows does your point no credit. Linux has been rock-stable for a very, very long time, and Windows 10 is a pleasure to use, particularly on touch-enabled devices. MS went through severe growing pains with Win8, but those days are past. And the OS/hardware combinations that have emerged since make Apple's offerings feel old and out of touch.
This is not to disparage the kernel developers, package maintainers or the distributions themselves - there's a lot of people doing excellent work without being compensated at all. However let's not kid ourselves - linux can still be tough.
Unless you buy something from System76 or do very meticulous research on hardware support and build your own, Linux is not going to be seamless out of the box. But the real highlight is that it can be seamless at all these days.
My PC has four GPUs, 128GB of RAM and a deca-core CPU. I have four monitors, a bluetooth mouse, and I almost never turn it off. Instead, it automatically suspends. When I'm away from home I can ssh into my computer if needed. I have daily backups that are essentially seamless.
Now, it was difficult to get to this place. I would say that Linux is, and has for a long time been, rock solid if you're not using a GUI. In my opinion, the single greatest impediment to "Linux on the desktop" is xorg, which is terrible (to put it mildly). Nouveau is absolutely crap, especially since Nvidia puts out its own drivers. But my point here is that after a few days of careful installation and setup work, I have had a seamless desktop experience for something like eight months.
What needs to happen for Linux is a software company that takes something like Debian, fork it and dramatically bring it up to wider compatibility with modern hardware across the market. In some sense that's Ubuntu, and it shows in how easy my daily experience has been.
That being said, I only use Linux for server-side work, and I can easily say that it is every bit as stable as any other server OS I've used, and has been for a very long time. There are plenty of weedy areas to play in if you want to, of course. But if your goal is It Just Works, you can do that, too. Perhaps most importantly, you can do it easily, with just a little foresight during the spec stage of planning your project.
They switched to Surfaces because they wanted power-user hardware?
To pick one example: being able to flick through long documents with a finger while keeping focus on other parts of the screen alone has been a huge productivity booster, and I do not say that lightly.
Like I said before, I was firmly in the "touchscreens are a waste of time for me" camp until I actually started using my Surface. Not trying to sound like an ad, it just has been my actual experience.
Most of my "work" time I spend in terminal. White text on black background, keeping my fingers on home row. I cannot see scenario where touchscreen makes me more productive except in some edge cases, and btw they don't gain over what I already have now. But that's just me. Each to their own, that is only fair thing to say.
But making assumption and claim based on your own point of view is not best thing to do. With Apple, especially it is always the same story, customers leaving and rarely satisfied (it was period around Snow Leopard, IIRC 2009-2010), but still I can't find anything better than MacBook. Dell and Lenovo came close, but when I install Linux on them I make few more sacrifices, summing everything up, Apple just works for me. (I won't even mention Windows. 100% not my cup of tea)
So the only question is to know if they are winning some that were on other systems. Objectively, the MBP has more or less stagnated on a performance point of view, it has regressed in autonomy and the new features it gained are at best neutral for developers. Developers is typically the slice of the population that will be affected by reviews, and the reviews are not favourable to this new MBP. Last but not least, competition has not stagnated either. I don't believe there is a better laptop on the market for my usage pattern, but it took me much longer before I came to that conclusion.
It is reasonable to think that the new MBP is less successful than the previous one with developers. It could still grow in raw numbers even with the developers, but it is reasonable to think its growth has been dampened a bit.
I'm not strongly disagreeing with you, but you are not making a better point than parent. I do believe that if Apple has a spec bump release of the MBP ready end of 2017 and is back in the regular 1 year cycle the whinging will die and you will win the argument.
I find it hard to see any realistic alternatives for MacBooks in software development. They give you all the tools you need from the Windows world that are not available on linux like Office, Photoshop etc. and it is still a UNIX system which can do all the stuff that linux can without kernel panics, crashes, bugs and other crap. Also unlike Windows or Linux, a single macOS installation can last pretty much forever and doesn't need to reinstalled every year because of the lost performance like Windows. And last but not least MacBooks are well optimised for the hardware they run on which gives them 1.5-2.5 times the performance with the same hardware as on Windows or Linux.
The whole thing about complaining about new MacBooks is same thing as with iPhones. People complain because it's trendy to whine about anything Apple does even if they would create eternal world peace and still everybody will buy them because there is nothing better or even similar on the market.