Ответы:
Это не только для удобства чтения, есть много программных причин отделять 32-битные приложения от 64-битных. Рассмотрим папку «Common Files». Если у вас есть 32-разрядное приложение и 64-разрядное приложение, которое использует папку Common Files для файла с таким же именем, вы собираетесь подключить тот, который был установлен первым. Существуют также различия в том, как Windows представляет эти папки самим приложениям, хотя я недостаточно знаком с ними, чтобы хорошо их объяснить.
Наконец, это первый из многих шагов на пути к универсально родным 64-битным приложениям. Представление папок по-разному сохраняет различие видимым как для разработчиков, так и для пользователей, и 32-разрядный «Program Files (x86)» является странным человеком.
Как вы написали в своем вопросе, эти папки являются отличительными каталогами по умолчанию для 32-битных и 64-битных приложений.
Интересной гибридной установкой является SQL Server 2005: если вы установите установку 64-битной версии, основные файлы движка SQL будут скопированы в папку Program Files, а инструменты, которые предназначены только для 32-битной версии, будут установлены в «Program Files (x86)». "
Вы упомянули причину: отличать 32-битные программные файлы от 64-битных программных файлов. Когда вы запускаете 32-разрядную программу в 64-разрядной установке Windows, Windows перенаправляет запросы папок из этой программы для% ProgramFiles% [C: \ Program Files в англоязычной версии] в альтернативу x86 [C: \ Program Files ( x86)]. Из-за этого тихого перенаправления 64-битные и 32-битные программы могут сосуществовать, не мешая друг другу. (Например, 64-разрядная версия Windows включает как 64-разрядную, так и 32-разрядную версии Internet Explorer.) Windows также выполняет аналогичные перенаправления для своих файлов и разделов реестра.