Разделы

ПО Софт Техника

Из языка программирования Go вычистили термины master, slave и blacklist

Разработчики языка программирования Go заменили термины master, slave, blacklist и whitelist, признанные политически некорректными, на их нейтральные аналоги. Истинную причину изменений они не раскрывают, но это может быть связано с забастовками афроамериканцев, вызванными смертью темнокожего Джорджа Флойда при задержании его полицией.

Политически корректный язык

Авторы языка программирования Go внесли в него «антирасистские» изменения. Они заключаются в полном удалении из документации к языку, а также из исходных текстов любых потенциально оскорбительных и политически некорректных терминов.

Модерации подверглись такие слова, как master (хозяин), slave (раб), blacklist (черный список) и whitelist (белый список). Так, master и slave были заменены на нейтральные process, pty, proc и control (в зависимости от контекста), тогда как термин blacklist превратился в blocklist (блоклист), а whitelist – в allowlist (список разрешений).

Go, также известный как Golang – это разработанный специалистами Google компилируемый многопоточный язык программирования. Работа над ним началась в сентябре 2007 г., а первая финальная версия языка вышла в ноябре 2009 г.

Причины изменений

По словам разработчиков, меняя одни термины на другие, они не пытаются тем самым начать новые дебаты о терминах в различных техпроектах. По их мнению, чтобы убрать одни термины и заменить их на другие (нейтральные) достаточно всего лишь факта существования людей, которых те или иные слова обижают.

go600.jpg
Беспорядки в США из-за смерти Джорджа Флойда тоже могли стать причиной «антирасистских» изменений в Go

Об этом сообщил руководитель отдела криптографии и безопасности в отделе разработки языка Go в Google Филиппо Валсорда (Filippo Valsorda). Он подчеркнул, что слова allowlist и blocklist более понятны в сравнении whitelist и blacklist, и добавил, что внесенные изменения в целом окажут положительный эффект.

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

«Повсеместная» практика

Решение об отказе от неполиткорректных терминов приняли не только авторы Go. Более того, они даже не были первыми в этом плане.

На аналогичный шаг пошли создатели резидентной системы управления базами данных (СУБД) Redis, движка Drupal, документо-ориентированной СУБД CouchDB, а также Django – свободно распространяемой рабочей среды для веб-приложений на языке Python. Для примера, в 2014 г. Drupal также после споров заменил master и slave на primary и replica. В том же году проект Django начал использовать вместо master и slave термины leader и follower.

Идентичные изменения произошли и с CouchDB, и тоже в 2014 г., а в 2015 г. на ресурсе GitHub появился пул-реквест с предложением отказаться от использования термина whitelist. В сентябре 2019 г., как сообщал CNews, слова master и slave были изъяты из языка Python.

VPN под ударом. Рынок VDI ждет бурный рост?
VPN под ударом. Рынок VDI ждет бурный рост? безопасность

Однако ни один из перечисленных примеров не был прецедентом. Еще в 2003 г. власти округа Лос-Анджелес выпустили по вопросу отказа от такого рода терминов директиву для производителей электроники, которые ведут дела в округе. В директиве власти попросили изъять из обихода или заменить термины, предназначенные для именования оборудования или компонентов, если эти термины содержат в себе оскорбление или дискриминацию – например, те же master и slave. После протестов общественности власти свернули инициативу, заявив, что это было всего лишь предложение.

В 2004 г. исследовательская компания Global Language Monitor, которая занимается проблемами употребления языка, сообщила, что использование слов master и slave в ИТ – это самые неполиткорректные термины года. Тем не менее, термины используются в технологической отрасли примерно с 1986 г.

И Chrome туда же

Спустя несколько часов после публикации разработчиками Go решения о замене терминов их примеру последовали другие сотрудники Google – создатели браузера Chrome, а также проекта Chromium. Они решили полностью исключить из кода своих продуктов термины blacklist и whitelist и заменить их на blocklist и allowlist соответственно.

Первые попытки избавиться от неполиткорректных терминов в коде браузеров были предприняты Google в 2018 г., но, как обнаружилось, сделать это не так просто, как казалось на тот момент. В настоящее время код Chrome содержит значительное количество ссылок на слова blacklist и whitelist. Что касается проекта Chromium, то он, в дополнение к более чем 2000 ссылок и упоминаний blacklist и whitelist, может «похвастаться» полноценным разделом под названием components/blacklist.

Что еще могло послужить причиной

Хотя разработчики и не говорят об этом напрямую, но внесенные в язык программирования Go и планируемые к внесению в код Chrome и Chromium изменения могут иметь определенное отношение к происходящему в настоящее время США. Страна охвачена массовыми акциями протеста, мародерством, грабежами и прочими беспорядками, причиной которым послужила смерть афроамериканца Джорджа Флойда (George Floyd) при задержании его полицией штата Миннеаполис.

Флойд попытался расплатиться за товар фальшивой купюрой, что и стало причиной ареста. За последние несколько лет он неоднократно отбывал срок за различные преступления, но это не помешало другим афроамериканцам превратить его смерть в повод для бесчинств и проявлений расизма по отношению к людям со светлой кожей.

Эльяс Касми



Конференция K2 Cloud Conf 2026 Конференция K2 Cloud Conf 2026

erid: 2W5zFJoBN9o

Рекламодатель: АО "К2 ИНТЕГРАЦИЯ"

ИНН/ОГРН: 7701829110/01097746072797