How old are Macs that cannot run 64-bit applications?

We're trying to decide how much effort to put into ensuring that our software works well in 32-bit mode. (It's scientific software that must handle large datasets, so ensuring that it works well does not only mean building universal binaries, but also designing around address-space limitations.)

Q: In what year were the last Macs sold that, out of the box, could not run 64-bit applications?

By "out of the box," I mean in the hands of naïve users that do not upgrade the OS, choose different kernels, or change the system configuration from the default in any significant way.


EDIT: Based on the comments on the question and this answer, I think the link Mac OS X v10.6: Macs that use the 64-bit kernel is much more relevant.

Basically, only the mid 2010 Mac Pro, the early 2011 MacBook Pro and the mid 2011 iMac were booting by default on 64-bit mode with Snow Leopard. Since Lion (mid 2011) every new Mac is 64-bit only.

So to answer your question:

In what year were the last Macs that were not capable (without user tweaking) of running 64-bit software sold?

==> 2011

EDIT 2: As Vebjorn Ljosa mentioned in the comments, having the kernel run in 32-bit or 64-bit mode makes little difference for your binary, so you can probably assume that Macs sold after mid 2007 will run a 64-bit app (based on the data just below).


  • Mac mini:
    • last 32-bit only processors: late 2006
    • oldest 64-bit capable processors: mid 2007
  • iMac:
    • last 32-bit only processors: early 2006
    • oldest 64-bit capable processors: late 2006
  • Mac Pro:
    • always been 64-bit capable
  • MacBook:
    • last 32-bit only processors: early 2006
    • oldest 64-bit capable processors: late 2006
  • MacBook Pro:
    • last 32-bit only processors: early 2006
    • oldest 64-bit capable processors: late 2006
  • MacBook Air:
    • always been 64-bit capable

So it seems the last Mac to sell with a 32 bits only processor was the late 2006 Mac mini.


The Core Duo was the last 32-bit processor. So I think those were from around 2006, when Apple first switched to Intel processors.

Edit:

See Apple History for more information.


In this aspect, Apple "retreated" a little when it switched to Intel processors. At that time, All G5 PPC based Macs were 64bit, and the introduction of the first Core-Duo brought new 32-bit Macs to the market, when they were already phasing out 32-bit. Not for long though.

I clearly remember Steve Jobs Keynote in WWDC 2005, apologetically explaining the move to Intel, to be mainly due to "the solid processor roadmap presented by Intel to him, versus the declining interest of IBM in low-energy desktop computing".

Last, my friend, you can very confidently forget about 32bit if you're developing an application. Xcode's "standard architecture" for a Mac target is 64bit only, and Apple has neglected the Obj-C runtime in 32bit for few years already.

This means - no ARC, no auto synthesis of Properties, fragile isa objects, and much much more. Building Universal or 32bit imposes grave limitations on your development.