Windows 10 ARM64 laptops went on sale in February 2018, but Microsoft didn't release an official toolchain with ARM64 support (VS 15.9) until November 2018! Even an "early preview" didn't come out until May 2018.
Combine that with the lack of 64-bit Intel emulation support (which is coming out...any day now), and it's clear this is just a hobby for Microsoft. And Qualcomm too, since they have nothing to offer besides phone SoCs that are barely competitive even in phones.
Oh, you want a desktop machine to develop on, or use for CI or tests? Sorry, only laptops.
That’s Windows :D
The hardware on offer currently is just as expensive as the x86 alternatives, has worse performance (unlike M1, which has excellent performance), and only offers marginal battery life benefits.
Microsoft is also not particularly committed to ARM or willing to competently execute that transition. For years they were trying to hobble their offerings (Windows RT, then later Windows 10S). In their first introduction of ARM, they didn't have optimized compilers, so performance was even worse than it should have been (Surface RT was a real disappointment).
Microsoft has also been jerking its development community around for the last 15 years in ways that make targeting Windows unpleasant. Half of Microsoft is trying to tell everyone that UWP is the future, the other half won't even bother supporting it. You might be surprised which half is bigger. The Windows group has spent a lot of time at war with the developer tools group, and it shows.
Basically it all sums up to: Apple is a serious trustworthy partner, Microsoft is not. Apple's ARM offering is actually better in several ways than the x86 alternative; Microsoft's ARM offerings offer noticeably less value. M1 is genuinely exciting, Windows on ARM is not.
The idea before that we'd immediately switch over seemed mad, but based on what I'm seeing there is a good chance that's what's going to happen.
Really, I'm not surprised that people are holding off until they show some sign that they mean it this time.
Correct.
Rosetta is a transitional technology to allow x86 apps to run on M-series Macs while their developers work on Universal versions that will run natively on M-series Macs in addition to Intel ones.
Apple has been clear that they expect the transition to M series chips to take about 2 years… a couple of years after that, they'll stop including Rosetta with macOS and will require developers to ship native apps.
The removal of Rosetta 1 is widely believed to have been rushed because it depended upon licensed technology. Since Rosetta 2 was an in-house design, I wouldn't be surprised at all if Apple kept it around considerably longer.
Also Apple did a fantastic job with early engagement for Apple silicon development, even going as far as to assist with code changes / patches early on.
Turns out this isn't true.
They showed Debian running in a VM on a prototype Apple Silicon Mac hardware in June at WWDC. My guess is that Apple will provide access to enough hardware features of the M1 Macs via their hypervisor framework, to enable alternative operating systems to run ok. Docker for M1 Macs is going to use Apple's hypervisor as well.
Apple supports disabling their security that would allow a different operating system to be installed but there would be no driver support, so there's that.
For a transition like this, you need good products, you need good emulation, and you double-plus-emphasis need to commit. Windows cannot do that.
On issue 2, well the Windows App store has never been an attractive platform. MS tried multiple times to shove it down users throat, which build some antagonism. Moreover, it’s actually MS’ second iteration on this principle (Arm+forced store usage), where the first one failed spectacularly (Windows RT tablets). So, it’s crazy to expect a different results when the same parameters (store locking) are used again, and no sane company or individual would bet on this.
Is there such a thing?
Honest question, not snark - I've never heard of them doing any. Where/who?
Of course. Who do you think runs the beta program, seeds developers with prerelease hardware so they can port their apps and all the rest?