Why Xamarin Developers Use Macs

I think I’ve figured out why Microsoft’s Xamarin development teams seem to use Macs. It’s because Windows 10 has degenerated so much it almost unusable for serious software development. I don’t know about Windows 11 but I suspect many of the usual tools aren’t supported yet in Windows 11. But then I’m not hearing much improvement with 11.

Microsoft should have taken the cue from Apple a couple decades ago and put the Windows UI on top of BSD Unix or maybe Linux. The latter would have been complicated at the time since Linux had some patent trollers pursuing it but wise judges threw those claims out.

There are actually many tech writers who seem to feel that’s what Microsoft should have done with Windows 11. But I was privy to what goes on at Microsoft, which has also been documented in many “tell all” books, is that marketing rules. Windows NT was developed as a full 32-bit operating system. These days even your smart phone is 64-bit but back then 32-bit was a demarcation from the 16-bit Windows of the time. But marketing overruled and demanded “backward compatibility” and thus crippled a fine advance in technology.

Even in my role as a technical director for a company I’ve had marketing overrule, forcing a poorer quality product that took more time to produce because of an unfounded belief that it needed to run on Windows 3.1 (this was after the release of Windows 95).

Now to while I feel particularly enraged about this today. I’m typing this using Ubuntu Studio 20.04 Linux on a 11 year old computer. A computer which booted up in 2-3 minutes and that’s slow compared to modern machines. But right now I’m waiting for about 20 minutes of boot time for Windows 10 to come up so I can work on a problem which has popped up on one of my apps.

Why is it taking so long? I don’t know but I’ve pared down startup apps so that can’t be it but I suspect that today I was notified that there is a new update to be installed. That’s funny because I got one earlier this week too and installed it. Apparently there was more to be done. Now if I run into a problem with my project and need to reboot (which I seldom ever have to do with Linux) that update was bound to waste time so I set it to execute in a couple days. Looks like it didn’t like that and I’ve wasted part of an afternoon waiting for the machine to become stable.

Microsoft is pretty liberal with our time probably costing millions lost productivity for users. On Linux you get a notice that updates are available. You can install them immediately or later and the user has control.

Now I know that machine is a little old being from 2016 but at the time a powerful machine with a NVidia 960 graphics card. Circumstances and the current problems in the tech hardware market have kept me from replacing that machine which of course I’d love too. Now I do have a MacBook from 2018 but I bought it for convenience (a Mac Mini would not be convenient) and I’m not exactly a big fan of MacOS either. It’s a entry level MacBook good enough to build iOS apps using the Visual Studio on Windows which remote develops by running XCode on the MacBook.

One other problem though (which Xamarin developers on Macs complain about) is Visual Studio is not as up to date as the Windows version.

It’s a wonder anything gets done these days.