Я бы сказал, что в большинстве случаев это вопрос стиля. Стандарты выросли из мира Unix, так что, например, функции библиотеки имеют короткие имена, и здесь не так много определений типов. Я предполагаю, что это отражает выбор дизайнеров C и Unix. С другой стороны, Windows имеет LongFunctionNamesInMixedCase
и LOTSOFTYPEDEFS
, *PTYPEDEFSFORPOINTERSTOO
.
Отчасти это также восприятие необходимости. Например, WinMain()
имеет такие вещи, как nCmdShow
, потому что графические приложения будут вызывать ShowWindow()
, и я предполагаю, что они хотели бы передать аргумент этому во вновь запущенный процесс. Является ли это на самом деле необходимым , может быть другим вопросом.
И, конечно, некоторые API-интерфейсы делают совершенно разные вещи. В Windows большое внимание уделяется передаче сообщений и обработке сообщений для каждого потока. CreateFile()
имеет много флагов, которых нет в мире Unix, включая режимы совместного использования, которые определяют, что может делать другой процесс, пока у вас открыт файл.