In terms of native development I have been relatively contained in the Microsoft development bubble for the last decade, playing around with other environments but always coming back to old faithful. We've had our ups and downs together and there have been times when I started seriously evaluating other options but it never sticks and I always come back. I don't consider myself a Microsoft "fanboy" though - I think Microsoft has really messed up a lot of things, especially lately and particularly on the mobile side and I'm fairly vocal about it. I think Android and iOS devices are really good and I love web development with node.js and bootstrap and enjoy writing hybrid mobile apps.
I think I am generally pretty good at judging things by their merits and avoiding personal prejudices. Web development aside, my career path has just been one where everyone using my stuff was on Microsoft platforms so it usually made sense to use Microsoft tools, and the few times there were other equally suitable options the learning curve to switch for one project didn't make much sense. That said, anytime there are alternate options available I do try to make a point to at least try them out, which has often lead to me porting the parts I really liked over to the tools and languages I was comfortable using so I could get the best of both worlds.
I tried to like Macs, I really did. I forced myself to use one exclusively for a month a few years ago so I could try to understand what it was about them that people liked, convinced that given how much some people (particularly designers I worked with) swear by them I was obviously missing something and I just hadn't given it a fair chance, but once I did I would see the light. It never happened and I hated every moment of my little experiment. In spite of that, I still thought that maybe it was just me, maybe a month isn't enough time, maybe it just wasn't for me...I don't know.
I had dabbled in iOS and Android development and finished a small project a couple years ago and mostly come to the same conclusion about that as the mac - I didn't like it but obviously I just haven't given it enough time to get used to it and learn all the ins and outs and become comfortable with it.
Then about a year ago I was forced to start working heavily with Macs and the iOS / Android development ecosystems to build some mobile apps. I am now convinced that they are objectively terrible - an impossible to prove assertion of course, but they are. I don't understand how the same people that build the iPhone and iPad build the Mac - it's just bad. When I'm developing for Android or iOS I feel like I'm doing work, and honestly that is a new feeling for me while programming and it makes me irritable and unpleasant. If I'm feeling masochistic one night and I decide I want to summon the pitchforks I might get into detail about the reasons why I feel that's the case, but that isn't the point of this post.
What I really want to say is this: when I'm developing in the Microsoft ecosystem I don't feel like I'm working; I feel like I'm spending my time doing what I love to do. I'm spending my time being productive instead of figuring out how to make things work, fighting with the tools or reading through manpages and memorizing command lines. That is definitely something I had taken for granted until I was forced to actually work and live with the other development ecosystems and my girlfriend can attest to what a pain in the ass I've been on some of those days. So, Microsoft, I want to take this opportunity to say something that I probably haven't said enough - THANK YOU. Thank you for making my life as a developer as enjoyable as it has been for the last 15 years. Your documentation is fucking fantastic, your tools are a joy to use and (a few notable slip-ups aside) your communication with us developers is unrivaled and truly appreciated. I have come to realize how monumental an achievement it is for you to have created such a cohesive, expressive and delightful development experience for us and I am grateful for that.
Now, please make Surface phone a resounding success so I don't have to build iOS and Android apps anymore, thanks :)
(A developer can dream, can't he?)
P.S I'm kidding about the "objectively terrible" part - everyone will have their own metrics by which they make their judgments, but I admit that I do have a hard time understanding what possible set of metrics in 2016 a well informed developer would use that would result in a preference to Android or iOS development (market share aside of course).