Isn't the answer they have to keep compatibility with a legacy architecture?
Exaaaaaaaactly…
Unlike Intel and Microsoft, Apple has an
amazing history of transitioning its Mac operating systems, SDKs and core apps to
entirely different hardware (CPU) platforms.
For anyone unfamiliar or who
are familiar but like nostalgia…
It was one of the “bumpier roads” in the history of Apple transitioning Macs to a different hardware architecture, but it transitioned its Mac platform from the Motorola 68000[#] CPU to the Apple-IBM PowerPC RISC CPU — that had a
VERY different ISA architecture from the Motorola 68000[#] (and to the Intel x86 ISA architecture for that matter).
So Apple had to emulate in software the Motorola 68000[#] hardware or else the
entire body of existing Mac software would no longer run for the existing Mac user base and would be rendered obsolete on the new PowerPC Macs running the new PowerPC CPU based operating system.
FACTOID: in 1992, years
BEFORE Apple made the decision to move to the PowerPC processor, there was a project at Apple known internally as “
Star Trek” where the Mac’s “System 7” operating system was
rewritten to run natively on an
Intel x86 PC. It successfully booted up System 7.1 on an
Intel 486 PC in 1992, but would have
required all Mac software to be recompiled to run on the PC/Intel architecture. For that and
many other reasons, “Star Trek” was
cancelled.
So, the Mac operating system ran on the Intel x86 PC architecture
before the Mac operating system ran on the Intel x86 PC architecture… 🤔
(Technically, it was the Unix/NextStep-based Mac
OS X the second time, but…still…)
An interim solution in the migration to PowerPC was software apps written as “FAT binaries,” where the same app would run one “fork” or codebase if it was being run on a 68000 Mac, or it would take the other “fork in the road” to run PowerPC code, if the software was running on a PowerPC-based Mac.
Apple made a lot of this easy in their SDK, but not enough that it didn’t still require
special efforts on the part of programmers and Mac software developers. (They didn’t like it.)
The biggest struggle was weaning ISVs off their still-compatible Motorola 68000[#] software and incentivizing them to write “clean” (thus
fast!)
PowerPC-only Mac apps that were no longer compatible with Motorola 68000-based Macs.
But eventually, just like how the Motorola 68000-line of CPUs
easily outperformed any other microprocessor on the market at the time —
until it didn’t — the PowerPC easily outperformed any other microprocessor on the market at the time —
until it didn’t.
Apple used PowerPC CPUs in Macs from
1994 until 2006, during which time Intel’s
CISC x86
CPUs caught up with and surpassed the PowerPC
RISC CPU. Chalk Intel’s success up to “brute force” and money.
(There was even a
short-lived “moment” in the PowerPC’s history when it ran Windows
faster on a Mac in an
emulator than Windows ran on its
native Intel x86 CPU! Short lived.)
So, after the transition was complete, the PowerPC that initially
smoked any Intel CPU experienced growing pains after a few years and couldn’t keep up with
ever-faster new Intel CPUs.
And high performance PowerPC processors were ill-suited for
laptop Macs because of their large die size, high power requirements and huge heat generation. And the laptop market was
really growing at the time.
So…Apple changed
again and transitioned the Mac platform to
Intel CPUs!
This transition was
MUCH smoother than the transition to PowerPC.
Apple made Macs that were
so much like Windows PCs, in fact, that Apple’s “Boot Camp” utility allowed you to install Windows natively on your Mac and boot straight into Windows
instead of Mac OS. Windows “saw” your Mac as a PC. (Because it was? 🤔…)
But the most recent transition to ARM processor-based, custom Apple-made processors was
the smoothest transition yet.
I think
a lot of this is owed to Apple adopting Steve Jobs’ “NextStep/OpenStep” Unix operating system that the
famous Mac GUI and user interface ran atop.
Mach/Darwin/Berkeley BSD
Unix was the non-user-facing,
underlying operating system that ran in place of the
completely gutted Mac operating system. It’s the
GUI layer on top that makes it still work and feel “like a Mac.”
Next’s software engineers
stressed from the beginning, “
hardware independence” and “hardware abstraction” in software design so that NextStepOS and the OpenStep API were
always designed with
portability to other platforms front-and-center in their minds. What an amazing team of people.
Astonishingly, Next’s operating system had been successfully ported from the
Motorola 68000 CPU to
Intel x86 to Hewlett Packard’s
HP PA-RISC microprocessor to Sun Microsystems’
SPARC RISC architecture CPU to the
Motorola 88000 RISC CPU and to the
PowerPC CPU (mainly to impress Apple when Next was pitching it to them).
And before porting “OS X” to ARM, Apple had already ported it from PowerPC to Intel. Steve Jobs always knew this was possible because
he’d already done it at Next.
Strict, fastidious adherence to hardware independence and hardware abstraction is why I also believe that Apple’s
transition from Intel to ARM/Apple Silicon was the
easiest, smoothest migration of the Mac platform to a different CPU
yet.
(And btw, NextOS and Mac OS —
from OS X on —
IS UNIX! It’s not “
Unix-like” as so many like to say. It’s fully POSIX compliant and
IS a
standard Unix variant!)
Mac OS X remained
SO portable that it was the underlying operating system of the very first (ARM-processor-based) iPhone OS — just with an
entirely different GUI layer on top of OS X (than the Mac’s GUI) — and has been
as portable ever since.
In fact, the eminently portable OS X
beats at the heart of iOS, tvOS,
watchOS, audioOS (HomePod) and even the upcoming visionOS.
Among the many
visionary ideas of the
gifted team of individuals at Next was
hardware independence, portability and
“Write Once Run Everywhere” mentality.
And, today, as we
commemorate the 12th anniversary of Steve Jobs’ death,
all of these people should be remembered by history.
And it’s just so great to see strict adherence to this vision live on at Apple
right to this day.