Hacker News new | ask | show | jobs
Why the hell most Microsoft programs are still 32-bit by default?
5 points by TeddyBear060 3046 days ago
Even FSX Steam Edition is installed by Steam using the 32-bit flavour without asking me about it. Is it for compatibility reasons?
3 comments

At least with Visual Studio, it’s 32bit for performance reasons (32bit is faster).

https://www.infoq.com/news/2016/01/VS-64-bit

Thanks for sharing this interesting reading.

It makes sense.

> [...] most of the time, staying with 32-bit and reducing the amount of memory being consumed will have a much larger impact for both the application and the operating systems as a whole.

Given you mentioned Steam, Kerbal Space Program is a great example here. They initially released a 64-bit edition due to community pressure. It was full of bugs and crashed a lot, and all they got were complaints about a lack of QA. There were mod authors who actually introduced checks and had their mods refuse to run on a 64 bit build, because they didn't want their mods running on unreliable systems.
Ok. But what do you mean, that 64-bits programs are more buggy that 32-bits ones ? Or that company/developers are not yet confortable with releasing 64-bits versions of a program ? Or something else :-)
I just mean there is apparently quite a bit of room for bugs beyond "getting it to compile", and the QA and testing takes time and money.
Got it ;-)
Yes.
Ok, but is it so complicated to test the computer arch in order to install the correct flavour?
100% of 64-bit computers run 32-bit programs. The vast majority of users never know or care what arch is installed. The only time most people care about bit-ness (word?) is if they are 64-bit trying to run an ancient 16-bit program.

This isn't VHS vs Bluray; it's much harder to explain why there is an advantage when it can't be seen. The 64 not version isn't 35% faster, or has dozens of new features. It's mainly just compiled differently, and it is hard to explain memory limits and instruction sets to people.

Totally agree with the first part.

But, does a program can use more than 4GB of RAM if it's compiled in 32-bit and executed into a 64-bit environnement (with more than 4GB of memory)?

I imagine that the answer is between yes and no.

I imagine that you, as developer, can choose between limiting your program not to use more than 4GB or let the system (host) do the memory re-mapping job for you...

But what about reliability in this case?