Log in

No account? Create an account
Previous Entry Share Next Entry
64-bit applications
Frogmarch 2002 - Whitby
There has been furore this week after Mozilla removed the 64-bit version of Firefox for Windows from their nightly builds. They said that the 64-bit version for Windows wasn’t a priority for their development team, and that compatibility and performance problems meant that the 32-bit version of Firefox worked better for users. This is despite their Mac OS X of Firefox being a “universal” application, containing both 32-bit and 64-bit code, and apparently not suffering from compatibility or performance problems. (I understand that their Linux versions of Firefox are also 64-bit.)

There have been strong views expressed about this in some parts of the technology media, although I suppose one should take a step back and accept that Mozilla can and should make their own decisions about the priorities of the Firefox developers.


On my Mac, the majority of applications are “universal”, and run as 64-bit applications. Apple has made the move to 64-bit reasonably painless, and I would imagine that most users are unaware that the architecture of their applications has changed as the operating system and applications have been updated.

Microsoft, however, seems to have made more of a song and dance over 64-bit, with separate installations of Windows for 32-bit and 64-bit architectures, and different versions of applications available. I wonder why they didn’t go for a universal approach? It seems to have made life unnecessarily awkward for their developers.

  • 1
It seems that it isn’t only Firefox that is stuck in 32-bit on Windows. The only Windows 8 browser that runs by default as 64-bit code is the Metro version of IE. Wonder if it is coincidence that the Metro IE doesn’t support plugins; maybe plugin compatibility is at the root of this.

Oh, and why do Microsoft keep up the 32-bit version of Windows? Because they are determined to be all things to all people, and as an organisation seem unable or unwilling to cut off support for older hardware.

I didn't see this before posting my longer response, but yes, plugin compatibility has a lot to do with it, though it may not be the only reason.

I don't entirely agree on the older hardware point though. I was unable to upgrade my laptop to Windows 8 because it didn't have a processor feature that Windows 8 requires. In terms of just general oomph, it could probably have run it because it benefited in performance from the upgrade to Windows 7 and Windows 8 is supposed to be a further improvement on that front. My older hardware (just pre-Vista vintage) has definitely had its support cut off!

Since it requires relatively modern hardware, then, I wonder why Microsoft didn’t choose to make Windows 8 64-bit-only? (As an operating system I mean; of course there is still a requirement to run 32-bit apps.)

Fear, I think. Fear of the fear of the customers.

Compatibility, the two-edged sword

One problem is that Microsoft have always been obsessive about maintaining backwards compatibility. As the owner of a Mac Mini that can't run Mountain Lion (10.8), only Lion (10.7) and a MacBook Pro still stuck on Snow Leopard (10.6), I'm no fan of Apple's enthusiasm for disowning even fairly recent and capable hardware (the Mini actually has the same CPU as the other which can run Mountain Lion, it just has a lesser graphics card - completely irrelevant in actual use, particularly since the machine is headless anyway!)

At Dundee University, apparently several of the applications we use don't yet work on 64 bit Windows - it doesn't help that Microsoft has changed some key file paths. Even 32 bit Windows 7 doesn't work properly with one application...

Worse still, while 64 bit Windows can still run 32 bit applications, it cannot run 16 bit ones - and a great many Windows applications are still distributed with 16 bit installers! To get around this, Windows has a 'blacklist' of known 16 bit installers and built-in substitutes - a hideous workaround at best.

It doesn't help that Microsoft has never supported the multi-architecture files Apple has taken advantage of right back to the M68k-PowerPC transition: unless you use a pure emulated system like Java or .Net's bytecode (MSIL), you have to choose one architecture (x86, x86-64, Itanium, ARM) and be stuck with it for that whole package. (You can't even have a mix of 32 and 64 bit code in a single MSI installer file cleanly, various bits break then!)

  • 1