Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

They completely removed hardware support for 32 bit software.


This was in the Intel generation of Macs. If Windows can support 32-bit software then so should Mac, along with all that 64-bit software that got broken in random Mac updates.

Ironically I can still run old 32-bit Windows software in Wine on my M1 Mac. Windows software is more stable on a Mac than Mac software.


To be fair, Microsoft has always had a culture of strong backwards compatibility, even between major OS versions - this is something they cultivate internally AND also tell their customers/users about.

Apple has had no such culture internally and they sure as heck don't emphasise backward compatibility to their customers (users or otherwise) - if anything, Apple prods and nags their developers to stick to the latest SDK/platform APIs, and shove the burden of software compatibility and maintenance onto them and hand wave away the breaking changes as being part and parcel of membership in the Apple ecosystem. This attitude can be traced back to the Steve Jobs era at Apple. It's definitely not new and comparing what Microsoft does with software and backward compatibility and expecting Apple to do the same is not fair - they really are different companies.


It's been this way forever, and consistently that's been my annoyance with Apple. If I weren't a coder or hobbyist musician or filmmaker, there's no way I would've wanted a Mac in the 2000s because it failed its main job of running software. If I were grown up back then with a desk job, it's probably involve a Windows PC.

Web partially fixed this, but only by accident, because Apple isn't for the web. And if I cared at all about video games or were doing certain fields of work (maybe creative tools now that Apple even lost that hegemony), that'd take me off the Mac. Somehow the Mac 3P software scene is even worse now than in the PPC era. And Microsoft is now testing just how annoying Windows can be without people leaving, answer is a lot.

Apple is limiting their reach so much, for reasons I still can't rationalize. Some basic level of backwards compatibility or at least more stable APIs should be possible without sacrificing the good things. I've done some iPhone and Mac dev too, it sucks in every possible way, and I get why people trust it so little that they'd rather shoehorn a web app into a native shell.


How is Apple limiting its reach? It doesn’t want to compete with the bottom of the barrel low end PC sales and for the most part people with money are already buying Macs unless they are gamers. Apple routinely captures around 50% of PC revenue


Do you think they didn’t know they were moving away from Intel when they did that? Besides code is shared between MacOS and iOS even then. They removed 32 bit support from ARM processors years before they moved to ARM based Macs.


They probably did, but just because M1 gets released doesn't mean Intel Macs suddenly don't have 32-bit capable hardware. I get why it was easier to drop it in the new OS regardless of hardware, only it throws a lot of software under the bus, and running software is kinda the OS's main job.

And the hardware isn't a showstopper anyway. Apple did x86-64 on AS, Windows' WoW64 does x86-32 on ARM-32 or even IA-64, and I'll bet Windows will do x86-32 on x86-64 if Intel ever drops the 32 mode. Wine 32on64 will run x86-32 on AS already.


And Windows is also a bloated mess that they couldn’t use on mobile and their ARM initiatives have gone nowhere.

If you don’t think Windows is a bloated mess, look up all of the different ways you have to represent a “string” depending on the API you are calling.


Sure but those are unrelated. Microsoft doesn't make the chips, and Windows crapiness is its own thing. It not like macOS would turn to crap if they made Rosetta2 support x86-32, or in general stopped breaking all the 3P software.


Windows crapiness is because they won’t deprecate anything ever. Read some of Raymond Chen’s posts about all of the special casing they did for apps that broke on newer versions of Windows because app developers were using unpublished APIs.

Every bit of backwards compatibility increases the testing surface and the vulnerabilities. In fact, an early bug in Windows NT that you could encode DOS shell commands in the browser URL bar from a client and they wouod run with admin privileges if the server was running IIS.

Should Apple have also kept 68K emulation around? PPC?


Apple went the other extreme. Even if you use public APIs exactly the way they want, your software will break frequently. This is without even getting into the whole OpenGL vs Metal drama.

In Windows they took things a bit too far by not only supporting old stuff but also treating it as first-class. If software is too outdated, it's fair to stick it behind some compat layer that makes it slower, as long as it still runs. But that's not even the biggest problem with Windows, it's Microsoft turning it into adware, also not being Unixlike in the first place.

To answer your last question, yes for PPC at least. 68K is too old to matter. Emulation layer doesn't need to hold back the entire system. If it means less dev resources to spend making glass effects and emojis, fine.


It does hold back the entire system though. It increases the attack surface of vulnerabilities and it allows companies like Adobe and Microsoft to be lazy about updating their software.


> Should Apple have also kept 68K emulation around? PPC?

Yes? What kind of mercurial clown world do you live in, where you pay for software and then cheer when it's yoinked off your computer in an OTA update?

Even Windows users aren't whipped enough to lick their OEM's boot like that, Jesus. You'd hope Mac users would still have a spine; Apple doesn't maintain macOS as a charity, you're allowed to disagree with them.


I don’t believe you are serious that you don’t see the issue with MacOS having

- A 68K emulator

- A PPC emulator

- a 32 bit x86 emulator

- a 32 bit ARM emulator (since ARM chips don’t have hardware to run 32 bit code)

And to think that Windows is a shining example of good operating system design.

Why not include a 65C02 emulator also so you can run AppleWorks 3.0 from 1986?


Maybe I'm mistaken but I thought generic ARM (not AS) had a 32 mode, and in fact that's what Windows emulates x86-32 into. If not then great, x86-32 on ARM64.


Apple removed 32 bit decoding hardware from its chips. I don’t know about generic ARM. If the chips Microsoft uses didn’t, that’s another argument about why supporting backwards compatibility effort stops a platform from moving forward. That die space could be used for something else like Apple did


I don't believe you know what you're talking about, if you think that Apple's 64-bit ARM chips struggle to run 32-bit code in-userland. Especially if you're going to put words in my mouth - at no point did I ever call the Windows OS a shining example of anything. You're confirming my suspicion that you live in a mercurial clown dimension.

However, I will absolutely say Windows users have higher expectations from Microsoft than what Mac customers demand from Apple. Macs would get removed by force from many of the places that rely on Windows in professional settings like render farms, factory automation, and defense. There is absolutely zero tolerance for Apple's shenanigans there, and Apple offers those customers no products to take their needs seriously, unlike Microsoft. It's not a coincidence that Apple has zero buy-in outside the consumer market, not a single professional customer wants what Apple is selling if Nvidia or AMD will do the same thing with less-petty software support. We all know why products like XServe failed, poor Apple had too much pride to support the software that the industry had actual demand for.

While we're talking about software darwinism, I think you need to hear this; Darwin objectively sucks from a systems design standpoint, it's why nobody uses XNU unless they're forced to. It's empirically slow, deliberately neutered for third-parties, the user-exposed runtime is loaded with outdated/unnecessary crap and BSD tooling that won't work with industry-standard software, the IPC model is not secure (fight me), the capabilities are arbitrarily changed per-OS, filesystem security is second-rate like Windows/Bitlocker, the default install is bloated with literal gigabytes of deadweight binaries, both LLB and iBoot are mandatory NSA slopware blobs, and their SDK commitment is more fickle than developers playing Musical Chairs.

None of these kernels are good, but XNU is unique in that it is completely disposable to humanity and possesses no remaining valuable features. If macOS stopped working tomorrow, there would be no disruption to any critical infrastructure around the world. If Linux or Windows had a Y2K moment, we'd be measuring the deaths by the thousands. I'm willing to give Apple their due, but you refuse to admit they're lazy - "since ARM chips don't have hardware" my ass, on "hacker" news of all places...


What’s there not to “believe”? There is no hardware support for 32 bit ARM instructions on Macs and iPhones. In fact there has never been 32 bit ARM Mac software. What software are you pining for from 32 bit x86 Macs?

Consider how shitty the x86 Windows experience is compared to modern Macs - poor battery life, loud, slow and hot - I’m really surprised at how little Windows users expect from their computers.

As far as the Arm based Windows computers, the x86 emulator is slower than Macs running x86 code and the processors are worse.

And are you really saying ARM based Macs, iPhones and iPads are slow?

You seem to want the Mac to be the equivalent of the “HomerMobile”.

No professional is buying Macs? You think that video and audio professionals as well as developers are really saying “we really want Windows computers” or did I miss the “Year of the Linux desktop”?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: