Просто чтобы дать исторический обзор расширений, типов файлов и кодов создателей.
Расширения файлов были частью файловой системы в CP / M и предназначались для того, чтобы функционировать подобно тому, что на самом деле делали типы файлов и коды создателей в MacOS. В то время ожидалось, что каждое приложение будет использовать уникальное расширение, и только одно приложение будет редактировать свои собственные файлы. В файловой системе имя и расширение файла хранились в двух разных областях, поэтому расширение не было частью имени. Помните, в то время в большинстве систем было всего несколько приложений, а содержимое файлов было специфичным для приложения. Они никогда не предназначались для того, чтобы быть видимыми для конечных пользователей, но из-за ошибки в команде каталога в CP / M они отображались так, как если бы они были частью имени файла. MS-DOS взяла на себя соглашение, а остальное, к сожалению, история.
Первоначальный дизайн файловой системы Apple видел недостатки концепции расширения, основной из которых было то, что некоторые типы файлов могли бы использоваться более чем одним приложением и со стандартизацией форматов файлов, имея более одного приложения, которое могло бы работать файл будет общим. Поэтому Apple отделил создатель файла - приложение, которое создало файл - от типа файла. По умолчанию при двойном щелчке по файлу исходное приложение откроет его. Однако если пользователь открыл файл из приложения, то все совместимые файлы должны были быть перечислены, даже если это приложение не было создателем. Кроме того, можно было бы перечислить все приложения, которые могут открыть файл. Семантически, как и предполагалось в CP / M, тип и коды создателя были отделены от самого имени файла.
Разработчики, которые правильно зарегистрировали свои приложения в Apple, получили свои собственные коды создателей. Проблемы с этой концепцией возникли из двух источников: 1. Разработчики, которые похитили чужие или собственные коды создателей Apple. 2. Unix-системы, которые никогда не имели формального расширения имени файла (все имена файлов представляли собой одну строку), начали применять соглашение об окончании имени файла точкой и некоторыми дополнительными буквами для обозначения типа файла. В соглашении Unix расширение является частью самого имени файла, в отличие от CP / M и MS-DOS.