Python лишится напоминающих о рабстве терминов

giphy.com

Разработчики языка программирования Python решили избавить его от упоминания терминов master и slave, которыми обозначаются главные и подчиненные им процессы и другие объекты. В зависимости от контекста использования термины будут изменены на «сервер», «родитель», «работник» и другие. Изменения вступят в силу в Python версии 3.8, выход которой намечен на октябрь 2019 года.

Python — один из самых популярных языков программирования, который применяется во множестве крупных проектов различной направленности. К примеру, на GitHub он занимает второе место по популярности. Как и во многих других языках программирования, в Python принята терминология «Ведущий — ведомый». Она обозначает взаимодействие между неравными элементами, один из которых занимает главенствующее положение над другим, например, передает ведомому команды и получает от него результат.

Поскольку в английском языке для этого используются термины master (хозяин) и slave (раб), в последние несколько лет в сообществе программистов все чаще стал подниматься вопрос о корректности такой терминологии. В некоторых достаточно крупных проектах, таких как Django и Drupal, эти термины уже заменили на более нейтральные, а в других, к примеру, Redis, изменения пока находятся на стадии обсуждения.

7 сентября 2018 года разработчик Python Виктор Штиннер (Victor Stinner) открыл в системе отслеживания ошибок Python дискуссию, в которой также предложил изменить терминологию master-slave, которая может ассоциироваться у разработчиков с рабством. В качестве причины он сослался на поступившие ему жалобы на использование этих терминов в Python. Конец дискуссии положил Гвидо ван Россум (Guido van Rossum), который создал Python и фактически является «великодушным пожизненным диктатором» проекта, оставляющим за собой право принимать важные решения в нем.

Из пяти предложенных Штиннером изменений разработчики одобрили четыре. В зависимости от контекста применения, Штиннер предложил разные варианты замены. К примеру, термин master заменили на parent, main и server, а slave и children — на worker и helper. Одобренные ван Россумом изменения будут отражены в следующей крупной версии 3.8, выход которой предварительно запланирован на 20 октября 2019 года.

Недавно британский разработчик Дилан Битти (Dylan Beattie) представил новый динамический язык программирования Rockstar, синтаксис которого вдохновлен известными рок-песнями 80-х годов. Глава «Сурового технаря» Сергей Иванов решил опробовать язык и показал, что на нем вполне можно писать работающие программы.

Григорий Копиев

Нашли опечатку? Выделите фрагмент и нажмите Ctrl+Enter.