В сообществе разработчиков Python развернулись жаркие споры о целесообразности использования терминов master и slave, пишет The Register. Чтобы их разрешить, пришлось взывать к мнению создателя языка программирования Гвидо ван Россума — даже несмотря на то, что он недавно отошёл от дел.
Дискуссия разгорелась вокруг предложений сотрудника Red Hat Виктора Штиннера: он решил избавить код Python от неполиткорректных терминов master и slave. Ранее эти слова пропали из Drupal (заменены на primary и replica), Django и CouchDB (leader и follower). Противники изменений уверяли, что не стоит смешивать программирование и политику, и что замена терминов вызовет путаницу и неудобства.
Разрешить спор доверили создателю Python Гвидо ван Россуму. Ради этого он вернулся из «бессрочного отпуска», об уходе в который заявил двумя месяцами ранее. В итоге оказались приняты четыре коммита из пяти. Отколнённое изменение касается терминологии UNIX ptys, которую использует не только Python.
Среди принятых изменений:
- «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 ().
Все они вступят в силу в версии Python 3.8.
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.