How important is having 64-bit programs on 64-bit OS?
I don't think it's that important to have 64-bit applications per se.
The advantage of having a 64-bit application is that it can:
- Access much more memory¹
- Perform 64-bit register operations.²
¹ A 64-bit program may be a little faster (depending on how it works). If your application is memory hungry (like Photoshop, 3D rendering, etc) then having a 64-bit version will give it access to all the computer's memory. Without that it will be limited to somewhere around 2GB. That's on a per application basis, so two applications can access a total of 4GB.
² Performing a 64-bit operation on a 64-bit operating system is faster than performing it on a 32-bit operating system - it would take at least 2 32-bit operations to perform the same thing.
Stability wise there should be no difference between 64-bit and 32-bit applications.
The biggest benefit from using a 64 bit application on a 64 bit OS is that you have full access to all the memory available on the system. With 64 bit memory addresses the application can access more memory than its 32 bit equivalent.
In addition 64 bit programs will work "better" than 32 bit ones as they are using the native system architecture. Operations such as memory reads are performed natively etc. This means that the OS doesn't have to do any extra work "translating" (packing/unpacking of memory etc.) the commands that the application is using.
However, most programs - such as Firefox, Word, Adobe Reader etc. - spend most of their time waiting for user input so efficiency isn't necessarily a prime concern. Also most of these applications (at the moment) don't require the extra memory that going to 64 bit would give them access to.
Programs such as graphics drivers do have to work efficiently and perhaps have access to higher memory registers and so need to be 64 bit.
Yes, you can run without problems the 32bit apps on your 64bit operating system, BUT. There is another problem of wasting space - the libraries. Basically an app would load the appropriate library it needs, but the problem is that 64 bit libraries are not compatible with 32 bit ones, and vice versa.
Of course usually the needed libraries are shipped with the application itself, but the core ones - Windows ones - are stored twice - one of them - the 32bit one, and the other - the 64bit one.
They also occupy more memory on RAM if you have one 32bit application and one another 64bit running concurrently - the two apps loaded their own version of library and so they are using more RAM than they could if they were both using the same library.
So, for the sake of saving RAM and Hard Drive space - try to run and install 64bit only apps, and install 32bit ones only if you couldn't find a 64bit version. Now, more and more apps are shipped in both versions.