Language Shapes The Way We Think

试图回答知乎上这个问题:如何看待谷歌拟弃用「黑名单」这一说法,助力反种族歧视运动?黑名单是否涉嫌种族歧视?

关于很多时事,我一直希望自己能够铭记一点:不要轻易把我第一反应无法理解的人都想得真的很傻。即使真的不同意,试图理解和尊重以及和平讨论显然比嘲讽有意义得多。

我不太擅长表达观点。不过我可以先转发(…并翻译)几条国外网友对这件事情的评论。基本都来源于在 reddit 的 golang 板块上的讨论贴。斜体的括号内容是我加的,非原文。

比如这个黑人的留言:

这里是个做技术的黑人。从 90 年代上高中的时候开始我就一直因为这些词汇遇到麻烦,那时候在学校用“主从模式”之类的词建一个 mac 的网络。

master/slave(主人 / 奴隶),whitelist/blacklist(白名单 / 黑名单)这样的词并不是必要的,而且有时候它们是有排他性的。

我不认为这是一种公司行动主义(corporate activism,不太清楚中文怎么翻译好,指的是大公司靠行动来影响社会规则的一种现象),这只是有人想试着做正确的事情——并且要做成了。

就当它是公司行动主义或者是更糟糕的——virtue signalling(“道德信号”,指表现出支持某些社会事业但不做什么有意义的实际行动,是个用来嘲讽自以为“清醒”的人的词)(我很确定不是)…如果结果是我们都在使用更加包容性的语言,它的出处重要吗?

如果这件事对你来说并没有什么风险,想想为什么它会让你感到讨厌。问问自己为什么避免使用可能让别人感到被排斥的词语是个问题。

更新:我没法回复所有给我的评论。我只是说说我自己的感觉。我没兴趣改变你的观点。

https://www.reddit.com/r/golang/comments/gy9ylr/go_has_removed_all_uses_of_blacklistwhitelist_and/fta2ezm/

还有这个 Go 开发团队核心成员的回复:

大家好。关于这个改动的一点评论。

“白名单”和“黑名单”的意思对于在这个帖子底下评论的所有人来说可能很显而易见,但对我第一次看到它们的时候来说并不是。这两个词并不是不言自明的,也都不是中性词。如果我们可以避免使用它们,新的 Go 使用者就可以少学一个东西了。

这些词也让一些人不舒服,因为它们隐藏的含义——就是这些词的意思——“白色就是好的/允许的/通过的”,“黑色就是坏的/不允许的/拒绝的”。在有人想跟我争论“并没有人真的因为这些词不舒服”之前我想先说清楚,我本人就对这些词很不舒服。实际上,五月中旬我度假的时候发现这些词也在 GCP 的公共文档里使用,然后记了一笔准备回来把它们给删了。我很后悔我还没有把这个 TODO 给完成,我也很后悔我没有想过看看我们自己的项目。

这些词也很容易被更好的词所替代。想表达“a whitelist of functions”(一个函数的白名单),我们也可以说“a list of allowed functions”(一个函数的允许列表)。想表达“a blacklisted package”(一个被拉黑的包),我们可以说“an ignored package”(一个被忽略的包)或者“a disallowed package”(一个不被允许的包)。以此类推。这些替代既不言自明,又可以避免使用黑白的问题,是个双赢的行为。

(原版的改动主要是做了个全局搜索,直接把所有词给替换成了“allowlist/blocklist”(允许列表 / 阻止列表)。这些词也比“whitelist/blacklist”好了,而且有时候确实有必要使用那些词,但大部分情况甚至还可以使用更简洁的语言。我用一些更常见的词组发起了一个跟进的改动。还有,所有的这些都对 master/slave 词组一样地适用,但那个只是这次改动的一小部分。)

选择使用的词汇真的很重要。如果你曾读过我们 issue tracker 上任何一个提案的讨论,你就应该知道我们花了多少时间才让每个命名都正确。这只是我们稍微能做到的一小步,我们能用不同的词去变得稍微更有包容性的稍微一小步。每一个“稍微”都是有意义的。

而且,名词也一直随着时间变化。过去几十年里我们也看到“he”(他)这个普遍的词汇的变化。对今天的我们来说,可以接受这些词汇的改变,可以承认多年之前用的一些语言是会造成麻烦的。在那时候用那些词也并没有自动地让我们成为性别主义者或者种族主义者,就像用那些新词并不会自动地让我们变得不是性别主义者或者种族主义者一样。但是我们还是可以也应该从小事出发,在我们意识到潜在的问题时变得更包容。

这甚至不是我们第一次调整用词了。Go 这个名字取自 Google 的前两个字母。`strings.TrimPrefix("Google", "Go") == "ogle"`(这句代码意思是从 Google 里去掉 Go 两个字母会得到 ogle 这个词,意思是“用一种色眯眯地眼神看”。),我们曾经觉得这个对 Go 的调试人员来说是个特别棒的名字。从字典定义的角度,尤其是考虑到是从 Google 这词来的梗,这个名字简直完美。但之后有人向我们指出,对于有些女性来说,她们不得不应付不想要的注意或是不恰当的行为(尤其是上班的时候),然后在工作中还不得不调用一个叫“ogle”的命令,这样的事情是多么有问题。那绝对不是我们想要的包容性,所以我们改了。

最后,这是一个我们对自己的项目做出的决定。我们并没有去强迫别的任何人也这么做。对我们来说,在包容性和可读性上的收益比这些词历史遗留的价值更大。如果你想在自己的代码项目里决定使用相反的决定也没关系。我们能同意“不同意”这件事,努力相互理解,并且相互尊敬。

这条讨论串上有一些太激动了的评论,请冷静一点。

谢谢大家!

https://www.reddit.com/r/golang/comments/gy9ylr/go_has_removed_all_uses_of_blacklistwhitelist_and/fte1zk0/

还有不少黑人网友表示,完全不觉得这些词会冒犯到自己,但也对 Go 团队的决定不支持也不反对。很多时候语言的冒犯性并不是像我们想的一样,作为习惯中文语言环境的我们不能理解确实很正常(说实话,我也不理解,但是我想努力理解)。网上也有一些文章(比如这篇)就在讨论语言确实是会影响人的思维的。

看到很多回答里在用很多现有的带黑白的词(中文的或是英文的)吐槽为什么这些不改,如果他们在项目里用到了而且感受到不够好当然会想改。拿比如“白宫”这样用颜色字面意思的例子拿来反驳不是很恰当。我个人觉得最恰当的类比可能是“黑匣子”(或者“黑箱”、“黑盒”)这个词,“黑”这个字跟“黑名单”一样原意是“不透明”。一个比较好的解释(也许会有人觉得很强行?但我个人能接受)是,“黑匣子”这个词因为能让我们感受到一个不透明的盒子的感觉,是个具体的一个东西,但“黑名单”不是一个具体的东西,对一些人(尤其是跟我们用不同语言所以很难理解的人)来说可能一点也不直观。用 “blocklist”、“阻止名单” 这样的直观的词真的就很不好吗?

即使并没有什么用这也是一种态度,而且只是一个团队自己的主观决定,并没有道德绑架外部的任何人。大家也都能理解虽然“白左”们真的有很多令人恶心的行为,他们也是无法代表所有白人的。有(可能没什么用的)理想的人被嘲讽真的是太可惜了。

314 views

Leave a Reply