OS X apps needs to be build for both PowerPC and Intel, if both processors needs to be supported.

However, I don't think this is the case for Windows programs. Why?

link|improve this question

2  
The premise of the question is false. Try running any 64-bit Windows application on a Windows machine with a 32-bit CPU. – David Schwartz Jan 22 at 20:04
Interestingly, Windows 8 will support the ARM processor, so this will soon be the case for the Windows platfrom. – Hand-E-Food Jan 22 at 21:53
feedback

3 Answers

up vote 8 down vote accepted

On consumer systems, Windows has only been available in its x86 processor variant for far more than a decade (Windows 95 and Windows 2000 were only available for x86 systems, not sure about earlier versions). But there are Windows editions that run on the Itanium architecture, and Microsoft announced support for ARM processors in Windows 8.

But all Windows desktop systems have the same basic x86 CPU architecture.


Mac OS X was, until early 2006, exclusive to PowerPC processors, which were used by Apple for its Mac systems. Then Apple gradually changed its computer lineup to Intel x86 processors over the next year. Mac OS X 10.4 (released for PowerPC in early 2005, for Intel in early 2006) was the first release to be available in both PowerPC and Intel/x86 variants.

They provided a compatibility layer, Rosetta that allowed execution of (older) PowerPC programs on (newer) Intel processors, and many (simpler) programs could be made available for both by recompiling using Apple's developer tools. Others, created using other developer tools (like Code Warrior), or some larger software products, like Adobe's, took a while to be available natively for Intel systems.

Mac OS X 10.6 (late 2009) was the first release to drop PowerPC support. Mac OS X 10.7 (mid 2011) dropped support for Rosetta, and therefore PowerPC programs.

This switch in computer architectures for Macs is also the reason why it's now possible to run Windows on Macs, either directly or using virtualization.


While Windows was basically only running on x86 systems, there was a major switch in the Mac lineup in 2006. Since that was fairly recent, many software developers continue supporting these systems, while Apple had gradually dropped support for both the hardware and programs written for it.

link|improve this answer
Windows NT 4 (including Workstation) was available for x86, Alpha, PowerPC and MIPS. Windows 2000 and XP ran on Itanium. – grawity Jan 22 at 19:51
@grawity RTM 1996, succeeded in early 2000 by Windows 2000. OK, far more than a decade might be wrong. Do you know how widespread use of those other platforms was? Probably not that much, given that it wasn't continued..? – Daniel Beck Jan 22 at 19:53
I've heard the Alpha port of NT 4 was somewhat popular (but IIRC it also had some sort of x86 emulator built in), and Alpha itself did get some use -- I still see hobbyist OpenVMS public-access systems on the internets. No idea about the rest, but yeah, they did disappear. – grawity Jan 22 at 19:55
feedback

That is due to different archtictures, it would be the same with windows, if they did something similiar.

Actually, the POWER archticture of IBM is still out there and powering quite a lot of servers, which again need different compiled OSs than ones for x86(-64) Intel Architecture.

link|improve this answer
feedback

Windows does need to take target architecture into account. Look at the options in Visual Studio - Windows currently needs different builds for 64 bit and 32 bit architectures. Also for ARM (upcoming). And in the old days of Windows 95 they had to account for 16 bit / 32 bit differences too. Even earlier, Windows 3 had to handle 8088 systems in the '80's. It comes down to the machine code that is emitted into the executable having to be different for different instruction sets.

Both lineages also have options for targeting older versions of their OS'es. Things change, compilers have to change with them, and we all want legacy support too.

link|improve this answer
1  
The questioner isn't asking about varying bitnesses of the same processor architecture, though, but about different processor architectures. – JdeBP Jan 23 at 10:40
They are not the same architecture. Just the same manufacturer. The compilers need to be told which architecture to compile for*. Which is why newer programs today tend not run on 32 bit systems, or they do but have to provide versions for each. Apple tried to hide that with their 'fat' file formats which contained both versions for 68K / PPC, and today the equivalent Universal with PPC / 32 bit Intel / 64 bit Intel, where Windows does not. All lineages try to deal 'nicely' with architectural evolutions. But the changes are not always so visible to the non-technical user. – David Apr 1 at 6:02
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.