Недавно мимо меня пролетела новость о том, что кто-то сделал русскоязычную версию ЯваСкрипта для учебных целей. Никакой особой реакции это не вызвало.

Да, мой ник «Muxa» возник тогда, когда нельзя было называть папку кириллическим именем «Михаил». Да, моя команда червяков носила имена MAHbKA, CAHbKA, TAHbKA, BAHbKA и так далее Да, я до сих пор стараюсь выкладывать в веб только файлы имеющие в названии [a‑z0-9._‑] — что бы не было проблем с кодировками. Но если вы спросите меня, что из всего этого надо делать вам, то я скажу только про имена файлов, а в остальном не вижу для вас никаких причин не использовать кириллицу. Более того, кириллица давно и прочно обосновалась в именах функций.

Не верите? Щас покажу. Тыц на ссылку.

Я клёвый
Я клёвый

0. Роль английского языка в программировании

Единственная значимая роль английского языка в программировании не имеет никакого отношения к английскому языку.

Дело в том, что многие принимают за английский язык ограниченное количество слов используемое в качестве имён функций: if. else, while, for. Но это не английские слова, знание которых позволит вам программировать — это условные обозначения имеющие написание, напоминающее некоторые английские слова.

Полагаю, не надо говорить о том, что в английском языке нет слова var, которым часто объявляют переменные, а есть variable. Это самое var, всего лишь созвучие, отсылающее к variable.

Знание перевода «if» как «если» , а «while» как «пока» не несёт информации о синтаксисе конкретного языка программирования.

Умение сопоставить остатки англоязычных слов в имени функции не даёт понимания того, какие переменные и в каком порядке она принимает и что даёт на выход, а знание назначения функции не позволяет сказать как именно оно пишется в конкретном языке программирования.

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

Реальная же роль английского языка состоит не в самом английском языке, а в его алфавите, целиком помещённом в первую половину ASCII таблицы. Ту самую первую половину, которая, исходя из технических традиций современно�� техники, отвалится в последний момент. Языки помещённый в юникод могут не поддерживаться, сменные кодировки второй половины ASCII таблицы могут перепутаться, но компьютер сможет продолжить работу. А вот если в системе поломаются символы с 0 по 127, то дело совсем плохо.

То есть, использование «латиницы» (а не английского языка) обеспечивает переносимость и однозначность считываемости файла с кодом программы на разных исправных компьютерах. Иначе может приключится бНОПНЯ и прочие кракозябры, что не позволит интерпретатору или компилятору опознать где какая функция и выполнить программу.

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

1. Кириллица в именах функций

Так где же обещанная кириллица, которая уже есть в именах функций?

Щас будет. Но это именно кирилилца, а не русский язык. Точно так же как латиница, а не английский язык.

И, нет, конечно же, речь не про 1С и не про языки программирования упомянутые @bolk в обсуждении этой новости.

Всё гораздо веселее.

Вот список функций русифицированных в ГуглДоках

Вот функции в LibreOffice

Excel у меня нет, но вот список с веб-сайта Майкрософта

1.1 Update 2025-11-07 02-53

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

Каждая языковая версия Википедии и прочих Википроектов имеет шаблоны на этих языках.

Да, это не программирование (если не лезть совсем глубоко в функции парсера), но это интерпретируемый код со спецсловами. В контексте обсуждения "программирование на русском языке", это то же самое что ЕСЛИ вместо IF.

***

Да, кириллические функции давно и прочно обосновалась во многие продуктах.

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

---
Михаил Елисейкин
2025-11-07

Комментарии (50)


  1. MountainGoat
    06.11.2025 22:51

    У вас статья не опубликовалась – только вступление.


    1. muxa_ru Автор
      06.11.2025 22:51

      В анонимной вкладке я вижу всё, вплоть до подписи.


  1. goldexer
    06.11.2025 22:51

    А где сабж? Вступление есть, а статьи с сабжем нету...


    1. muxa_ru Автор
      06.11.2025 22:51

      :)


  1. aamonster
    06.11.2025 22:51

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


    1. muxa_ru Автор
      06.11.2025 22:51

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

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


    1. dzmitry_li
      06.11.2025 22:51

      Какое счастье, что LibreOffice позволяет выключить локализацию имён функций.

      Интернет подсказывает, что Excel тоже это позволяет. Правда упоминается только версия 2025 года. Жаль проверить не могу - вынуждено пользуюсь более старой версией Excel, английской версией (но засада осталась - чч.ММ.ГГГГ всё равно по-русски - и это в англоязычной Windows, но русской локалью)


  1. bighorik
    06.11.2025 22:51

    Да, кириллические функции давно и прочно обосновалась во многие продуктах.

    В каких многих? Вы ж в качестве примера привели электронные таблицы, которые друг друга чуть больше чем полностью копируют.


    1. muxa_ru Автор
      06.11.2025 22:51

      Например, ещё есть поиск по Windows, по сути это кириллические параметры в функции поиска

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

      А можно так же сказать про высокоуровневые языки программирования? Они же тоже все на одно лицо.


  1. aikuaiven
    06.11.2025 22:51

    Я прошу прощения, но какое отношение формулы Excel имеют программированию? Или это только вступление к статье?


    1. muxa_ru Автор
      06.11.2025 22:51

      Если посмотреть обсуждения темы "программирование на русском языке", то видно, что речь там идёт об использовании набранных руками спецслов (ИМЁН переменных и функций на русском языке) на русском языке. О том, например, чтобы писать сум() , а не sum()


      1. kryvichh
        06.11.2025 22:51

        В русском Excel -- не сум(), а сумм(). Хорошо хоть в белорусской локализации они оставили функции без перевода, и параметры разделяются "," а не ";".


  1. Kreatifchk
    06.11.2025 22:51

    В java можно поля русскими названиями именовать.


    1. SaihonFox
      06.11.2025 22:51

      в шарпе и котлине также


    1. ermouth
      06.11.2025 22:51

      А ещё в JS, C#, Python, Swift, PHP и пр, и не только кириллицей. Иногда для читаемости удобнее переменную назвать, например, Δφ, а не delta_phi.


    1. sergio_nsk
      06.11.2025 22:51

      Да, наверно, везде можно. C++, например

      void привет_мир();
      
      int main() {
      	привет_мир();
      }

      Автор вышел из 20-летней комы.


  1. dyadyaSerezha
    06.11.2025 22:51

    Не говоря очевидного, что приведенные примеры это лишь некое подобие программирования, а точнее, всего лишь автоматизация в продуктах, расчитанных для массового использования непрограммистами, спрошу главное: не раскрыта тема команды червяков. Что вы с ними делали? Откапывали и складывали в баночку из-под леденцов с землёй перед рыбалкой? Или где? Очень за них волнуюсь.


    1. muxa_ru Автор
      06.11.2025 22:51

      не раскрыта тема команды червяков. Что вы с ними делали? Откапывали и складывали в баночку из-под леденцов с землёй перед рыбалкой? Или где? Очень за них волнуюсь.

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


      1. dyadyaSerezha
        06.11.2025 22:51

        Странно, никогда о таком не слышал (возможно, я психически нездоровый или вообще маньяк?). Но тогда возникают другие вопросы. Сколько из них откосили от ЧВК и ЧВО (Червивая...)? Сколько дожили до пенсии? Как там их детки, выбрали гражданскую жизнь или пошли по стопам отцов? Поддерживаете ли вы с ними связь? Как вообще настроения в червивом обществе?


        1. Tiriet
          06.11.2025 22:51

          Это была очень популярная даже в некотором роде многопользовательская компьютерная игра конца 90х-начала2000х годов. По популярности уступала, пожалуй, только саперу и батлсити.


          1. dyadyaSerezha
            06.11.2025 22:51

            Да, не игроман я ни разу.


        1. SnowBearRu
          06.11.2025 22:51

          Оставлю тут , для общего понимания

          https://habr.com/ru/companies/timeweb/articles/906568/


    1. Tiriet
      06.11.2025 22:51

      Я вас умоляю. Си был придуман как третья итерация языка для некоего подобия программирования для всего лишь автоматизации для массового использования не программистами. Настоящее программирование должно быть в машинных кодах, причем- сразу в числовых, без этих вот удобных мнемонических сокращений типа mulpd и ld.


      1. dyadyaSerezha
        06.11.2025 22:51

        Не надо воды про итерации, рекурсии и прочие динамические функции. Что же до машинных кодов, про них я написал то же самое с полгода назад.


    1. Darth_Biomech
      06.11.2025 22:51

      Вот и выросло поколение не знающее про Worms.