Игра Яндекс Практикума
Игра Яндекс Практикума
Игра Яндекс Практикума

Из Python уберут служебные слова «master» и «slave» из-за политкорректности

Новости

По мнению части сообщества Python, они неполиткорректны и ассоциируются с рабством.

10К открытий10К показов
Из Python уберут служебные слова «master» и «slave» из-за политкорректности

Создатель языка программирования Python Гвидо ван Россум объявил о том, что из Python 3.8 уберут конструкции со словами «master» («хозяин») и «slave» («раб») по соображениям политкорректности. Такое предложение внёс сотрудник Red Hat и один из ключевых разработчиков Python Виктор Штиннер (Victor Stinner). Он считает, что слова ассоциируются с рабством и неравноправием.

Дискуссия

Предложение вызвало дискуссию в кругах разработчиков. По мнению противников изменений, Штиннер смешивает политику и программирование, а «master» и «slave» — всего лишь термины, значение которых не имеет ничего общего с одобрением рабства. Кроме того, их замена может привести к нарушению обратной совместимости, уверены участники сообщества.

Гвидо ван Россум принял четыре из пяти коммитов. Среди них:

  • master process заменён на parent process;
  • master option mappings заменён на main option mappings;
  • master pattern object заменён на main pattern object;
  • в модуле ssl слово master заменено на server;
  • в pty.spawn() параметр master_read заменён на parent_read;
  • метод pty.slave_open() переименован в pty.child_open(), но вызов pty.slave_open пока оставлен для обратной совместимости;
  • в os.openpty() и os.forkpty() параметры master_fd/slave_fd переименованы в parent_fd/child_fd;
  • внутренние переменные master_fd, slave_fd и slave_name переименованы в parent_fd, child_fd и child_name соответственно;
  • опция --slaveargs заменена на --worker-args;
  • функция run_tests_slave() переименована в run_tests_worker().

Redis

Создатель СУБД Redis Сальвадор Санфилиппо (Salvatore Sanfilippo) также предложил избавиться в ней от терминов «master» и «slave». Участники дискуссии хотят переименовать операции SLAVEOF в REPLICAOF и настройки slaveof в replicaof. При этом поддержка SLAVEOF останется в виде опции для сохранения совместимости. С той же целью останется поддержка признака slave в командах INFO и ROLE. В будущем участники сообщества хотят придумать альтернативу INFO и заменить в ROLE slave на replica.

Санфилиппо рассказал, что не считает переименование оправданным, но вынужден вносить изменения из-за давления со стороны политических активистов.

Следите за новыми постами
Следите за новыми постами по любимым темам
10К открытий10К показов