Как называют переменные в разных странах

Опубликовано 4 окт. 2025 г.

Сегодня коллега, который проводит дохрена технический собесов поделился инсайдом. Мол кандидаты из Южной Америки часто называют временные переменные aux, а вот кандидаты из Восточной Европы - temp. Такая вот этнография.

ЧИТАТЬ ПЕРВЫМ В ТЕЛЕГРАМ

Прикольно. Для меня aux это дырка в которую можно что-то вставить.

А в чем дело-то?

Причины могут быть в языке и в традициях обучения.

Южная Америка и «aux»

Во многих странах Латинской Америки (а также в Испании и Португалии) обучение программированию ведётся на родном языке. Слово auxiliar (испанское) или auxiliar/auxiliaridade (португальское) переводится как «вспомогательный».

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

Восточная Европа и «temp»

В странах Восточной Европы (Россия, Польша и др.) учебные материалы часто брались с английских источников или напрямую переводились, но при этом терминология частично сохранялась.

В англоязычных книгах традиционное имя временной переменной — temp (от temporary). В итоге это закрепилось как привычка.

Ещё один фактор — русскоязычные (и в целом восточноевропейские) программисты исторически чаще учились по книгам на английском, чем по локализованным методичкам. Хотя и методичек особо таких и не было.

То есть это, по сути, отражение того, на каком языке преподавали первые курсы информатики и какие примеры попадались студентам.

Такие мелочи могут «маркировать» культурный бэкграунд разработчика не хуже акцента в речи.

Давай разберем другие страны

Китай

  • В учебниках и коде часто встречается tmp (это короче чем temp).
  • arr почти всегда вместо array.
  • Булевые переменные часто называются flag.
  • Комментарии «中英混合» — смесь китайских и английских терминов:
// 计算 sum
total = total + arr[i];
  • В олимпиадном коде часто встречается ans и vis (visited).

Западная Европа / США

  • Стандартные учебные названия: temp, foo, bar, baz.
  • В учебниках на джава и питоне для временных значений часто используют value или val.
  • В научном и численном коде — переменные x, y, z, dx, dy (от физики и математики).

Восточная Европа / Россия

  • temp как временная переменная (от англ. temporary).
  • buf вместо buffer (сильно закрепилось ещё с ассемблеров и C-шных примеров).
  • cnt для счётчиков (counter) — иногда даже вместо i/j/k.

Переменные res (result) и ans (answer) очень популярны в олимпиадном программировании.

Комментарии часто начинаются с // !!! или // FIXME: на смеси русского и английского.

Ближний Восток

  • В арабоязычных странах иногда встречается mosa3ed (مساعد = помощник), но чаще используют англоязычные temp/aux.
  • Комментарии миксуют латиницу и арабицу, например:
// calculate المجموع
// check if الشرط
// temp متغير

Индия

  • temp тоже стандарт, но часто встречается flag для булевых переменных (очень широко).
  • В комментариях любят писать // logic или // main logic, даже если код очевиден.

Названия переменных иногда из «хинди-английского микса» в учебных проектах: num1, chotu (маленький), bada (большой).

В целом получаем:

  • Испаноязычные/португалоязычные — aux.
  • Восточная Европа — temp/buf/cnt/res.
  • Англоязычные — temp/foo/bar.
  • Китай/Индия — tmp/flag/arr/ans.

Короче вся это тема — маленькие «акценты» кода. Про 1Сников писать уж не буду, сами все знаете как они переменные называют.

Не смею больше отвлекать, хороших тебе выходных!

Комментарии