LINUX.ORG.RU
ФорумTalks

Red Hat убил python

 , ,


2

1

http://www.opennet.ru/opennews/art.shtml?num=49256

Гвидо ван Россум (Guido van Rossum) поставил точку в споре, возникшем среди разработчиков языка Python из-за изменений, предложенных Виктором Штиннером (Victor Stinner), работающим в Red Hat и входящим с число ключевых разработчиков Python. Виктор предложил вычистить код Python от упоминания слов «master» и «slave», так как их использование является неполиткорректным и ассоциируется с рабством и неравноправием. Несколько лет назад некоторые открытые проекты уже затронула череда подобных переименований, например, в Drupal термины «master» и «slave» были заменены на «primary» и «replica», а в Django и CouchDB на «leader» и «follower».

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

Несмотря на намерение уйти с поста великодушного пожизненного диктатора, в спор пришлось вмешаться Гвидо ван Россуму и принять конечное решение. Из пяти коммитов, предложенных при обсуждении переименования «master» и «slave» на «parent» и «children», в кодовую базу принято четыре. Изменения отразятся в релизе Python 3.8. Одно изменение отклонено, так как затрагивает устоявшуюся терминологию UNIX ptys.

Среди принятых изменений:

  • «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().
☆☆

Ответ на: комментарий от barberry

Куча ООП-программ на языках, поддерживающих ООП, написана без использования мощи ООП - объекты используются тупо как структуры данных с несвязанными между собой полями, а манипуляция ими происходит внешними «процедурами»-функциями, которые дёргают его публичные методы.

iZEN ★★★★★
()
Последнее исправление: iZEN (всего исправлений: 1)
Ответ на: комментарий от iZEN

я не про написание программ и мощь ООП, а про то что в питоне инкапсуляции нет.

после написания нескольких десятков миллионов строк кода на языке без ООП, инкапсуляция сама напрашивается. у разрабов питона она видимо не напросилась.

barberry ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.