I guess this opens up the chance JetBrains will point IntelliJ and PyCharm over.
I guess this opens up the chance JetBrains will point IntelliJ and PyCharm over.
But of course the real (and perhaps obvious) difference is that Apple is much more strict about its ecosystem, having decided ARM will definitely be a thing and developers need to follow to stay relevant.
The Windows version is "maybe there will be ARM devices one day, maybe". That's not nearly as convincing.
I believe the most convincing thing for developers (besides rewards like promotion and filters in the store, which MS badly sucks at) would be a wave of serious ARM devices coming out in the very near future. The longer it takes the slimmer the chance that Windows on ARM will really catch on.
It is implied. To be accurate, it started being implied when mac os has been brought into discussion.
Uh, what? Java started as a write-once-run-anywhere platform for applications. Java gained popularity as a browser plugin for richer UIs. Significant amounts of enterprise and in-house software are written in Java using AWT/Swing, SWT, etc.
I have been developing on Windows and deploying into whatever OS almost since Java exists, thanks to IT policies regarding desktop computers.
And yes, I also have deployed my share of Java applications running on Windows based JEE containers.
My point here is:
- A huge chunk of Linux software (desktop or server) has been ported to ARM or will soon be.
- A huge chunk of MacOS software will likely be ported within the first few months of launch.
- A very small percentage of Windows software has been ported to ARM. Even the usual Windows strongholds: Games and corporate software have poor support for Windows ARM. Windows x86-64 bit emulation is missing (or at least was at launch) so a significant amount of pro software and games won't run even under emulation.
> The Windows version is "maybe there will be ARM devices one day, maybe". That's not nearly as convincing.
Exactly this. Microsoft has had so many false starts on platform shifts they have a hard job selling this.
Also outside HN bubble right there in the real world, macOS desktops are about 8% across the whole world. It doesn't really matter what CPU they have.
Considering many/ most pro apps like Photoshop are not written in .NET or Java, it is a significant concern. Likewise games—a category of software Microsoft has long dominated—are not generally written in Java/ .NET. Likewise, huge chunks of legacy corporate software is not very portable.
> Also outside HN bubble right there in the real world, macOS desktops are about 8% across the whole world. It doesn't really matter what CPU they have.
I wasn't talking about unit sales, I was talking about how much software the platform supports. Regardless of whether the Mac has 3% or 99%, there is going to be a better selection of software available for Mac on ARM in 6 months than for Windows ARM.
> Likewise games...
Nobody who plays games will want an ARM chips anyway because they’re for low powered mobile systems, not desktops with beefy GPUs.
Yeah, not everything will be available, then again it doesn't matter how much software is available, if only a subset of those 8% of the computing world population is going to get it.
to run legacy software.
I think market evidence points to the contrary. The Raspberry Pi is a fully fledged Linux Desktop, it's running and marketed with full fledged desktop software. Last I checked 25 million units have been sold.
It's use/sales far outstrips Windows RT or Surface Pro X which from what I know are the only current uses for Windows on ARM.
So yes I think Windows is in a clear 3rd place on ARM architectures.
I'm not sure I agree with this, lots of Pis are sold for projects which don't involve use as a desktop. In fact—from what I've seen—only a small percentage of Pis are actually used as day-to-day computing devices.
But in addition to the Pi, there is Pine64 which is exclusively sold as a "Desktop" platform with both laptops and workstations.
But I was talking more about the number of apps available on the platform than the number of units sold.
Software support for Windows ARM is a bit of a crapshoot which makes it hard to estimate what's out there.
The use cases for the Raspberry PI is ridiculously varied which I think reinforces it's application support relative to Windows on ARM.
I have seen it used for openstack development, as a desktop, home theatre pc, pihole, nextcloud instance, emulator etc... I haven't really found software that I can't just install/use.
Can you say the same for any windows on arm deployment? Especially if they are only just coming out with mainstream support for OpenJDK and Electron support.
In fact the alternative uses for the Pi are arguably as interesting/ important to its significance as a platform. A lot of little side projects which the Pi gets used for now used to be low end Windows boxes.
If Windows is in 3rd place for desktops, it's because of sales of ARM based Chromebooks, not Raspberry Pi.
That's a statistical error level compared to the number of PCs in the world.
And even the premise is wrong. The "Raspberry Pi" is not bought as a "fully fledged Linux Desktop" (whether it's marketed as such or not), but used mostly for special utility purposes, from automation and DIY experiments to multimedia servers and such...
Even if you add all Linux desktop machines, it's like 2% or something...
This is a comparison between Linux on ARM and Windows on ARM. Not against Windows vs Linux as a whole. I assume this is in the context of future consumer desktop platforms on ARM hardware. In that context, OEMs who want to release a functional desktop product with ARM chips would find it a lot easier/appealing with ARM than on Windows at present.
In that context, Linux on ARM is vastly ahead of Windows of ARM.
My argument is that the total number of raspberry pis being used a Linux ARM desktop outstrips the amount of Windows ARM desktops (which are composed of surface RT/X tablets).
Much (most?) new Windows software these days is written in .NET and might just work out of the box, since that's technically speaking what .NET is supposed to enable.
(With the obvious reservations about platform specific quirks. I've ported my fair share of code to different platforms, and now it's often not that simple)
There is also a lot of legacy 32 bit code and industry specific tools which are getting left behind. Plus a lot (most?) of Pro tools and games use C++ or something a bit lower level.
I know Adobe is dragging their feet supporting Windows ARM and there is very little gaming support for it either. Both Adobe and Unity have announced "Apple Silicon" ports, Adobe has been dragging their feet on Windows ARM support and I don't even think Unity has announced they will migrate to Windows ARM.
There is a lot of performance left on the floor by real-time-only DBT when applied to binaries which do not jump into dynamic memory at all. QEMU is also, in my opinion, too general-purpose to be efficient. I think high-performance SBT and DBT is crucial to the adoption of new ISAs, it should maybe be something RISC-V International/The Linux Foundation puts up a bounty for (along with native ports of popular JITs like v8 and HotSpot).
Has someone come up with a smooth way to use them on ARM? (The leading contender is a qemu chroot with the scanner gui and driver installed, but that sounds hard to maintain over time).
I really want to just link the x86 .so into an arm binary, performance-be-damned.
----
You could put it in a container, and connect it with CUPS. CUPS is network-transparent and there should be nothing stopping you from running it in a container. It is not unheard of to use QEMU userspace DBT in containers[0].
[0]: https://www.stereolabs.com/docs/docker/building-arm-containe...
A container is nice because you can also be sure that the scanner container only exposes the saned socket, and has no other network access.
Things have changed a lot since then, but to me, seeing Windows being the platform which has the least software support, even in this limited scope, is a sign of how much of a reversal Windows has seen.
What a strange universe you must inhabit. Windows still utterly dominates the software landscape except in web stuff. I have yet to work at an org that didn't have a dependence on many pieces of software that are exclusively Windows.
I think they were talking about ARM.
You do know we are talking about Windows on ARM here right?
I haven't said that every time I've been talking about this, but that's the context, Windows on ARM.
> Windows still utterly dominates the software landscape except in web stuff.
Again, Context. Windows on ARM doesn't dominate anything. That's why I said "even in this limited scope" right after the phrase you quoted. I figured folks would recognize we were still on the same topic.
There's one Windows software sector that this is not good enough for - games (really care about performance+latency, unlikely to ever port to ARM), but that sector is the least likely to want to switch to ARM in the first place. Gamers will go Windows+AMD anyway.
The bigger problem for Windows-on-ARM is that non-Apple desktop-class ARM processors are right now rather weak, and that affects all applications, even ported apps.
Windows-on-ARM already has 32-bit x86 emulation — and it's slow as molasses. Believe me, people do notice the slowdown.
But Microsoft has everything to gain by upping the performance to match what macOS is doing with Rosetta 2, so it's definitely a space to watch closely.
Oddly, Microsoft has 32 bit x86 apps running on ARM, but 64 bit x86 apps are broken. More or less exactly the opposite of Apple in terms of legacy software. This means there are some pretty notable holes in the Windows ARM Pro software scene -> Adobe being the biggest, most obvious.
The message from Apple is "Everything that runs on Catalina runs on the new Macs", but software which has been ported will run best. The messaging from Microsoft is much more nuanced.
> The bigger problem for Windows-on-ARM is that non-Apple desktop-class ARM processors are right now rather weak, and that affects all applications, even ported apps.
This is why Apple can afford to go all-in on ARM while Microsoft has to tap-dance back and forth between the two platforms.
It has been argued on HN that the reason was x86_64 patents that will very soon expire. Once that happens, Windows-on-ARM is very likely to have x86_64 emulation as well. Besdies, 99% of Windows software is available as 32bit.
The software sectors that don't will either never port old stuff (games) or will port anyway for Mac and have an easy Windows port as a result (e.g. Adobe).
>This is why Apple can afford to go all-in on ARM while Microsoft has to tap-dance back and forth between the two platforms.
Microsoft is mostly a software company, rather than an hardware one. It doesn't matter to them on what processor type you run so long as it's their software. I suspect the biggest reason for focusing on ARM isn't Mac, it's Azure.
Microsoft has to tap-dance because it has a very long-tail of developers that do not accept change lightly.
Game developers have been porting their games to ARM for long time now. Sometimes, like GTA San Andreas, even for windows ARM, but these days the platform is usually iOS, Android, or Nintendo Switch. Historically there were others, PS Vita, Nintendo DS, they all had ARM CPUs.
MacOS does? By what measure?
Did I miss a beat and somehow thousands of developers have ported their apps to Windows ARM?
Last I heard Adobe only had a few tools working on the ARM version of Windows and only a few other developers were onboard.
From the sounds of it, when Apple Silicon goes live, there is going to be a pretty big selection of native apps (Plus they have iPad/ iPhone apps). The fact that Windows ARM didn't support emulating 64 bit x86 out the gate didn't help either since a lot of pro tools are 64 bit.
Most likely, everyone who will port their software to Apple ARM will also port to Windows ARM at the same time (same application core).
I have enough ARM based games on my Windows Phone.