On 31 March 2014 21:44, w0rp <devw0rp@gmail.com> wrote:
On Monday, 31 March 2014 at 09:32:20 UTC, Manu wrote:
Most computers aren't 64bit though.

This isn't accurate.

The most popular Steam OS is Windows 7, 64bit. http://store.steampowered.com/hwsurvey/

Steam usage data shows the the overwhelming majority of Windows 8 installs are 64-bit, so newer Windows installs are 64-bit almost as a rule.

Old Microsoft posts show a surge in 64-bit installs. http://blogs.windows.com/windows/b/bloggingwindows/archive/2010/07/08/64-bit-momentum-surges-with-windows-7.aspx

Desktop computers are a relatively small fraction of computers in the world today, and losing market share rapidly.


Modern Microsoft and Sony consoles use 64-bit processors.

Finally, we have plenty of ram! Huzzah! :)


Smartphones and tablets are a notable exception, probably due to their lower memory requirements, but this won't last forever.

So I don't think it's fair to say "most computers aren't 64-bit." A good fair chunk of computers are.

It's completely fair; it's fact that 'most' (literally) computers today are 32 bit, and the current trend is away from 64 bit, although that should change as mobile adopts 64 bit too.
I suspect it'll be quite a while yet before developers can forget about 32 bit devices. I think there's only one 64 bit mobile device on the market so far?

The point is, it's impossible to bank on pointers being either 32 or 64 bit. This leads to #ifdef's at the top of classes in my experience. D is not exempt.