Блог

Crap! Какой язык программирования заставляет ругаться чаще?

Трудно удержаться от мата, когда в 30 000 строк кода закралась ошибка и все пошло…
09 июля 2018ThumbGeek Brains368431513

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

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

В этой статье выясним, какие языки программирования вызывают у разработчиков больше всего эмоций. Информацию для анализа возьмем с трех крупных веб-сервисов для совместной разработки: Github, Bitbucket и Googlecode. В качестве поисковика используем сервис Searchcode, который позволяет находить отдельные элементы в коде и комментариях к нему. Система утверждает, что в проверочной базе есть 20 млрд строк кода из 7 млн проектов. Пересчитывать не будем — поверим на слово. Найдем «горячие точки», где негодование программистов выражено вербально, и  посмотрим, какая сложится статистика.

Да какие маты на английском? То ли дело на русском!

Существует миф, что в английском языке мало ругательств. Но на самом деле англичане преуспели в словесной брани не меньше, чем русские. Ведь массовая культура зародилась в Британии на 150 лет раньше, чем в Российской империи.

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

В реальности идиоматических выражений в английском множество. Но наша статья посвящена не этой теме. Если интересуетесь, есть отличная книга «Вашу мать, сэр» (авторы Московцев и Шевченко): 480 страниц отборного английского мата, крепких выражений и сленговых фразочек. Советуем программистам, которые часто спорят с иностранными коллегами.

Для анализа в статье мы взяли 5 наиболее популярных ругательств английского языка:

  • Crap;
  • Fuck;
  • Shit;
  • Damn;
  • Cock.

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

Уверенно лидирует слово «Crap», так что разберем его первым.

Crap

«Crap» не считается грубым ругательством. Это почти полный аналог русского «блин». Поэтому его и употребляют так часто.

Допустил ошибку в своем коде — «Crap!».

Увидел баг в чужом — «Crap!».

Не можешь найти общий язык с программистом — «Crap!».

Слово настолько плотно вошло в лексикон IT-специалистов, что появился специальный CRAP index (Change Risk Analysis and Prediction). Его формула прогнозирует, скажет ли программист «Oh, crap!», когда увидит, какой код ему предстоит поддерживать. CRAP-индекс на практике используют многие программисты — при тестировании, оптимизации и переписывании отдельных участков кода.

Больше всего «crap» используют на Bitbucket — 26 666 раз. При этом примерно 70% из них приходится на упоминание CRAP-индекса или его производных.

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

На Googlecode «crap» встречается явно реже. То ли код там лучше пишут, то ли просто CRAP-индекс не используют.

C/C++ лидирует с большим отрывом — здесь «crap» звучит в три раза чаще, чем во всех остальных языках, вместе взятых. Видимо, кодить на С/С++ без ошибок крайне сложно. Или же англоязычное «блин» автоматически отлаживает код и дезинтегрирует ошибки.

Fuck

Продолжаем с самым распространенным ругательством английского языка — «Fuck».  Общее количество употреблений — 15 628 раз (система учитывает все производные от слова, поэтому реальные показатели немного меньше).

При этом программисты используют «fuck» как оскорбление куда реже, чем как междометие и связующее звено в мыслях. Фразы «fuck you», «fuck off» или «motherfucker» встречаются совсем редко. Это радует: мы ведь тут работать пытаемся, а не унижать друг друга.   

Google и здесь отличился. Если на Github и Bitbucket присутствует 7817 и 6888 использований соответственно, то на Googlecode — всего 607. В 10 раз меньше! Совпадение? Не думаю.

Статус наиболее «fucked»-языка неожиданно получил Vimscript.

Все объясняет одна-единственная фраза:

Удивительно, что наиболее распространенное ругательство английского языка заняло не первое место в нашем рейтинге. Все-таки в разработке своя атмосфера.

Зато C/C++ предсказуемо фигурирует в рейтинге. А стабильность — залог успеха.

Shit

Универсальное слово, которое показывает, что код, мягко говоря, не слишком хороший. Всего «shit» использовали 17 598 раз — это больше, чем «fuck», даже с учетом всех его словоформ. Эти слова часто используют вместе во фразе «fuck this shit», в окультуренном переводе — «нахрен вот это вот все». 1785 примеров!

Как думаете, на каком языке чаще всего делают «shit»?

Такая ситуация в С/С++ повторяется куда чаще, чем вы можете себе представить:

Дело в том, что в C/C++ есть много возможностей, нарушающих принципы типобезопасности. И маленькая ошибка в коде может обернуться большими проблемами. Компилятор не контролирует процесс, поэтому программистам приходится изворачиваться, и не все в этом преуспевают.

Что касается ресурсов, где больше пишут «shit», — абсолютно никаких странностей:

На Bitbucket немного больше, чем на Github, но это частности. Зато Google, как всегда, на высоте. И это совсем не потому, что там делают меньше проектов, чем на Github и Bitbucket, не-не-не. Там, конечно, разработчики культурнее.

Damn

Еще один аналог русского «блин» — даже более универсальный, чем «crap». Если «crap» имеет негативный оттенок, то «damn» в целом только эмоционально окрашивает фразу. И судя по частоте его использования в IT, разработчики — ой какой импульсивный народ.

Результат по ресурсам практически полностью повторяет статистику по слову «crap». Github и Bitbucket ругались, а Googlecode рядом стоял и надышался.

И аналитикой по языкам вас не удивим:

В этом туре в компанию затесался Assembly, но общей погоды он не меняет. С/С++ остается лидером из-за количества допускаемых ошибок, на которые нельзя спокойно реагировать.

Иллюстрация к мысли о том, что оптимизм — важная черта характера разработчика на С/С++. По-другому здесь не выжить.

Баги в HTML тоже часто попадаются, но их проще исправлять, и они не приводят к таким печальным последствиям, как одна ошибка в 8000 строках кода, из-за которой падает вся система. Поэтому косяки в HTML не вызывают такого всплеска эмоций.

Cock

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

Судя по статистике, обижать коллег любят программисты на Github. Но если быть совсем честными, именно это слово часто попадает в различные фильтры. И львиная доля от всего числа использований — именно оттуда. А другая часть непонятным образом пришла из описаний неведомых материалов категории «18+». Если смотреть объективно, реальных оскорблений немного.

Интересно, что нигде, кроме Github и Bitbucket, слово «cock» вообще не используют. 63 упоминания в Googlecode — это ни о чем. На других ресурсах и того меньше. Все же это ругательство не типично для программиста.

Здесь лидером рейтинга становится HTML.

Это предсказуемо: фильтры на нецензурные слова ставят там, описания тоже есть. Вот и получается, что все HTML-проекты скинулись и набрали на первое место.

А так выглядит фильтр цензуры на Python:

В стандартном фильтре примерно 550 строк, и там учтены практически все матерные выражения и их аналоги, которые используют пользователи.

И у нас есть победитель!

По статистике использования нецензурных слов и выражений побеждает С/С++ — с большим отрывом. Если бы такой был у бегуна-марафонца, он бы мог на дистанции попить кофейку с печеньками, вздремнуть часик-другой и все равно победить в забеге.

Все же сложность структуры языка влияет на эмоциональную стабильность программистов. И С/С++, судя по нашей статистике, не способствует душевной гармонии разработчиков. Одна ошибка — и ее придется ловить вручную. Встретите программиста на С/С++ — дайте ему конфету, поддержите.

А если это вы сам, помните, что ругаться — нормально. Во всяком случае, чтобы на самом деле не убить коллегу за ошибку, которую не можете найти уже 2 дня. Хорошего настроения и кода без багов!

Бонусы для читателей

Ловите бесплатный доступ на три месяца изучения английского на онлайн-курсах EnglishDom до 30 июля 2018 года.

Будем рады видеть вас на индивидуальных занятиях курса «Английский для IT-специалистов».

Новые комментарии

Спасибо,
что читаете наш блог!
Posts popup