So why can't it run ARM version of Windows?
We don't know that it can't. Or, more to the point, we don't know that it
won't be able to run it when it becomes an issue in 1-2 years' time. There's no fundamental reason not - and there's no
fundamental reason why it won't be able to "bootcamp" ARM Windows, either - but we simply don't have enough info to know what the more technical issues might be.
You can certainly run Docker on ARM, but similarly to Docker on x86, it will use the ARM-Linux kernel, so your images will need to based on ARM-Linux.
...or it could run the kernel under x86 emulation/translation. Apple said that it will include "new virtualization technologies" - the MacOS Hypervisor framework isn't new so it's
possible that this could include some sort of Rosetta2-based support for emulated x86 VMs. It won't be very fast, but if you're doing web/server development all you need is
fast enough.
...or (and this is probably the real point) it's 2020 and there's no reason for VMs to be hosted on your desktop machine any more.
1) Why is x86 Linux virtualization "key"? If you just need a development platform, what is wrong with ARM Linux? (assuming you are not developing x86 Linux native apps).
There's nothing wrong with ARM Linux, Linux software that doesn't already compile for ARM64, ARM32, x86, PPC etc. is the exception rather than the rule. Linux/Unix have long been based on source-level compatibility across multiple processor architectures - even for "developing x86 Linux native apps" 90% of the work can be done on an ARM, and the lions share can be done on MacOS.
It's not as if developing on an x86 avoids the need for access to a variety of other hardware for testing.
Someone will have to build ARM versions of any upstream Docker (or similar) images that you use - but lots already exist and with the current interest in ARM servers from Amazon and others, that's already on the to-do list, and the (rough) Docker equivalent of "Universal binaries" are already a thing.
Seriously: the vast majority of development for iPhone/iPad/Watch/Android/Raspberry Pi/embedded systems is done on Macs/PCs with different processor architectures. Why do people think that it's impossible the other way around? (Ans: Windows - it has always been tied to x86 by it's need to run 30-year-old binaries).
2) A lot of development is moving to cloud platforms. I use AWS EC2 instances as my Linux sandbox. It only costs a couple of cents to run per hour, and performance is just as good as a local VM provided you have a good internet connection.
Bingo! Somebody gets it! ...and have you tried any development
without a good Internet connection recently?
Meanwhile, if you really can't use the cloud, it's still 2020 and a box the size of a Mac Mini will give you all the x86 you need, and you can even VPN into it from Starbucks.
People are still acting as if Tim is going to break into their house tomorrow and steal their Intel Macs. Or as if there won't be any Intel Macs for sale in 2 months time when they need to kit out a new employee. To be fair, Apple
does have a history of leaving people hanging like that, but from what was said at WWDC they're taking this transition seriously, and people now have 2-3 years notice to review and modernise their workflows.
Back in 2006, I found Parallels and BootCamp with Windows and Linux immensely useful. That's really diminishing now: for website work most of us can now ignore Internet Explorer (Caloo! Callay! Oh, frabjous day!!!) and Firefox/Chromium are pretty consistent across platforms. In the last couple of years I've wasted significant time chasing down what turned out to be
parallels bugs affecting Firefox and Electron - plus there's the whole issue of testing things on a touchscreen. As for "traditional" Windows app development, with x86 Macs, if I needed to do that again today, first purchase will be a Windows PC. But on a 2-3 year timescale, Windows for ARM could (a) be a viable development platform and (b) something that had to be supported anyway.
Modern Windows development (using .net or whatever it's called now) is CPU independent anyway.
Those aren't virtualisation products, they're emulation products. Bytecode emulation is significantly slower than virtualisation as it cannot be hardware assisted.
Not entirely true - Rosetta/Rosetta 2 works by - wherever possible - translating code to native ops in advance, which can be far more efficient than traditional emulation. It's possible that Apple have something up their sleeve that uses Rosetta technology to accelerate x86 "virtual machines".
All this non-news article is saying is that the existing x86 Parallels/VMWare/Docker binaries don't work with Rosetta (do bears relieve themselves in the woods?) - Apple
showed some form of Parallels and Docker running on the new Macs (...and I don't recall them saying whether they were native of x86 - or saying anything about their performance).