Подтвердить что ты не робот

Зачем создавать системный вызов называется creat?

Зачем создавать системный вызов называется creat?

Кроме того, почему определение размера буфера называется BUFSIZ, а не BUFSIZE?

Есть ли еще такие примеры?

Связанный: (взято из комментариев)
Что имел в виду Кен Томпсон, когда сказал: "Я создал заклинание с" е".

4b9b3361

Ответ 1

Из LSP (стр. 28):

Да, это имя функции отсутствует. Кен Томпсон, создатель Unix, когда-то шутил, что недостающее письмо было его самым большим сожалением в дизайн Unix.

Ответ 2

Вернувшись во время pdp-11, появилась кодировка под названием radix50, упаковывая три символа (из ограниченного набора) в одно 16-битное слово. Это ввело ограничение 6 букв для имени файла и 3 для расширения, 6 букв для идентификатора и т.д.

Тем не менее, это не объясняет creat никак.

Ответ 3

Вы должны помнить, что память была очень ценной в старые времена. Для компиляторов было распространено очень короткое максимальное число имен переменных. Я работал над системами с максимальной длиной 3. Многие из ранних компиляторов C ограничивали имена переменных до 6 символов.

Ответ 4

Моим любимым примером кратковременного безумия на unixoid-системах является команда umount (см. "Почему "umount" не пишется "размонтировать" ?" перейдите на unix.stackexchange.org для объяснения, еще раз, шестибуквенный лимит). Было бы очень интересно сравнить время, сэкономленное тем, что на одну букву меньше набрать время, затраченное на чтение manpages и консультационной информации, за все эти тысячи пользователей Unix за эти годы...