Hacker News new | ask | show | jobs
by crenshaw 5380 days ago
OK. And Windows on ARM won't run Amiga apps either. You and I both know that's not really related to what the poster stated. The poster said that ARM will only run Metro apps. You can not run x86 apps and still run non-Metro apps. And you can run x86 apps, but not run non-Metro apps. It's a completely orthogonal statement.
2 comments

I took it as saying there were two types of apps - Win32 x86 apps and Metro apps, and that ARM would only run one of them.

If he'd said "ARM will not run x86 apps, so you'll need to recompile" then that would have been different, but without any kind of assurance there it sounded very much like they were ruling out running any existing apps on ARM tablets.

Actually there is no good reason Microsoft didn't write an X86 virtual machine so that their tablets could run the old programs.

The instructions set is obviously different, but Android does that with Java (on an ARM processor too) and Microsoft has enough smart people who could make sure that the performance would be great.

> Actually there is no good reason Microsoft didn't write an X86 virtual machine so that their tablets could run the old programs.

There is. You'd be looking at something very much like Apple Rosetta. Now, the first Intel Macs were substantially faster than the PPC Macs that most people had at the time, but even then Rosetta felt painful. All current and near-future ARM chips will be slower than most current Intel chips; you'd expect it to be even more painful. Worse, for lightweight apps it would involve far more CPU usage, which would hurt battery life. People wouldn't _care_ that their Windows 8 tablet was getting two hours battery life while their friend's iPad was getting 10 because they were running a legacy app which was hogging the processor doing instruction translation; they'd just blame Microsoft.

The case of Java is a little different; both Dalvik and JVM are designed to be JIT compiled relatively efficiently to multiple common architectures. Architectures like x86 and PPC are generally _not_, and things like Rosetta suffer as a result.