Analytics

Цензура в исходном коде .NET Framework

Пятничным вечером, проглядывая исходники с Reference Source, случайно наткнулся на подозрительно выглядящий комментарий:


      Цензура в исходном коде .NET Framework

Некоторые слова заменены на 4 тире. Ну ладно, иногда разработчики действительно бывают весьма экспрессивны и не стесняются резких выражений… Но при всем желании я не смог вспомнить ни одного ругательства, которое бы подошло здесь по смыслу. Откуда же оно взялось?

К счастью, Github позволяет искать по коду репозитория, и можно вбить в поиск эти четыре тире:

github.com/microsoft/referencesource/search?q=—-&unscoped_q=—-

Пропускаем случайные совпадения с ASCII-форматированием и натыкаемся на несколько других случаев, в которых все становится понятно из контекста:


      Цензура в исходном коде .NET Framework

Табуированное слово — «race». Все упоминания идут в контексте "race condition", то есть состояние гонки за ресурсы, а не человеческая раса. И тем не менее, они заменены.

Дальше — больше!


      Цензура в исходном коде .NET Framework


      Цензура в исходном коде .NET Framework

Кто-то всей душой ненавидит исключения? Кажется, нет. Предполагаю, табуированное слово здесь — «trap». Есть устойчивое выражение — «trap an exception», означающее перехват исключения, чтобы оно не всплывало вверх. Но у этого слова есть и другое сленговое значение.

Ну да ладно. Это же все комментарии, мало ли что в них написано. На качество кода-то не повлияет?..


      Цензура в исходном коде .NET Framework

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

Особенно жестко досталось классу EnglishPluralizationService, который используется в EF6 для автоматической конвертации слов из единственного во множественное число и наоборот. Там порезано приличное количество словарных слов:


      Цензура в исходном коде .NET Framework


      Цензура в исходном коде .NET Framework

Большинство из них я не могу угадать, но t----zium — это trapezium (трапеция), а ch---is — это chassis (корпус).

К счастью, проблема наблюдается только в выложенных в данный репозиторий исходниках. Если декомпилировать настоящую сборку, никакой цензуры нет:


      Цензура в исходном коде .NET Framework

Дискриминация — действительно серьезная проблема современного общества. Но очень грустно, когда под видом борьбы с ней выдают вот такое…

Related posts

О работе ПК на примере Windows 10 и клавиатуры ч. 1

admin

Парсинг общедоступных данных запрещен с 1 марта

admin

Радио, которое можно отправить даже в ад

admin

Leave a Comment