Первоначальной идеей было независимость семейств адресов и протоколов. Адрес может потенциально использоваться в различных протоколах. Авторы ожидали, что, например, адрес IPv4 может использоваться другим гипотетическим протоколом, отличным от IP. И наоборот - независимые семьи готовы использовать адреса нового типа в протоколе IP.
Так что единственная причина в том, что автор API сокетов хотел быть в будущем. Насколько я знаю, между PF и AF все еще есть взаимно однозначное соответствие.
Это хорошая привычка следовать оригинальной идее. Это означает наличие независимой константы и использование констант PF при работе с протоколом, например, при создании сокета: s = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP)
, и использование константы AF при работе с адресами, например sa.sin_family = AF_INET
.
.