Судя по результатам голосований (на compiler.su и даже здесь на Хабре) идею программирования на русском поддерживает не так уж и мало людей.

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

Язык 1С: Предприятия


Несмотря на то, что это самый популярный язык программирования с русскоязычным синтаксисом, я его рассматривать не буду, дабы не разводить холивар. По аналогичной причине я не буду рассматривать OneScript и Перфолента.Net (последний хотя и является самостоятельным языком программирования, но его синтаксис основан на встроенном языке 1С: Предприятия).

1C: Исполнитель


Какая-то странная смесь C# [с его Console.Write()], Java [var obj = new Object()] и наверное Julia [с ; вместо end].

Также, судя по всему, разработчики 1С: Исполнитель вдохновлялись Scala/Kotlin, выбрав ключевое слово знч для неизменяемых переменных. ИМХО, слово пост подошло бы лучше (конст уже занято).

Кроме того, неудачно выбраны ключевые слова попытка, поймать, выбросить.

Выбор ключевого слова метод\method для объявления функций также вызывает вопросы.

Впрочем, есть и хорошие решения, которые вопросов не вызывают. Например, создание массива записью [1, 2, 3], множества записью {1, 2, 3} и соответствия (то бишь "словаря") записью {"a": 1, "b": 2}. Совсем как в Python.

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

КуМир


Уже исходя из названия (Комплект Учебных МИРов) понятно, что область применения данного языка ограничена обучением. А это, как я считаю, тупиковый путь. Мало кто захочет серьёзно изучать язык, который кроме обучения программированию, ни для чего не пригоден/не используется.

Однако некоторые идеи и решения, принятые в КуМир-е, можно позаимствовать. Например то, что математические функции в нём оставлены на английском (sqrt, sin, abs, min, max и т.д.). И я считаю это вполне оправданным. На уроках математики мы же пишем sin x и ничего.

Компилятор C++ от Интерстрон


Русификация служебных/ключевых слов C++ выполнена автором легендарной статьи ‘‘Редкая профессия’’ Евгением Зуевым.

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

Глагол


Проблема Глагола в том, что он основан на непопулярном языке [Oberon-2], и к тому же использует достаточно нетрадиционную терминологию, например:
  • «вид», а не «тип»;
  • «ряд», а не «массив»;
  • «задача», а не «процедура»/«функция»;
  • «отдел», а не «модуль»;
  • «ячцел», а не «байт»;
  • «знак», а не «символ»;
  • «кольцо», а не «цикл»/«повтор».

В этом отношении я согласен с Юрием [автором сайта compiler.su]:
ruscomp.bb24.ru/viewtopic.php?id=20#p411:
То есть обычные русские слова уже не являются для вас "общепринятым" языком?
Общепринятые – это те, которые я читаю в книгах, в том числе по программированию. Когда читаю «байт», мне всё понятно. Это общепринятое. Когда я прочитаю «запись размером 40 слогов» — я буду долго размышлять. А вот «файл размером 40 байтов» — мне сразу понятно, да и Вам тоже. Да, там заимствованные слова, но не я их заимствовал и не я их глубоко внедрил в наш язык. Чтобы быть понятым, я вынужден их использовать.

RuSL


RuSL (Russian Scripting Language) — новый скриптовый язык программирования с синтаксисом на русском языке. После беглого знакомства с языком я выделил несколько [возможно субъективных] недостатков:
  • Для объявления переменных используется нетрадиционное ключевое слово изм.
  • Нет поддержки целых чисел (все числа вещественные).
  • Операторы присваивания +=, -= и т.д. записываются в обратном порядке (т.е. =+, =- и т.д.). Особенно забавно получается с записью n=-n, которая работает не как n = -n, а как n-=n, т.е. n = n - n :)(:
  • Для стандартных функций input() и print() был выбран перевод ввести() и вывести() вместо более привычного ввод() и вывод().

11l


Семантика 11l берёт за основу язык Python (самый популярный язык программирования на данный момент [согласно рейтингам TIOBE, PYPL, IEEE Spectrum]), а синтаксис разработан/спроектирован с учётом когнитивно-эргономического подхода таким образом, что забыть его [синтаксис 11l] практически невозможно (особенно если это первый изучаемый язык программирования).

Для перевода названия метода map в 11l было выбрано слово применить, т.к. как сказано в Википедии "в функциональной форме map часто называется «применить-ко-всем»".
Также слово «применяет»/«применение» используется в различных описаниях функции `map()` в Python
pyneng.readthedocs.io/ru/latest/book/10_useful_functions/map.html:
Функция map применяет функцию к каждому элементу последовательности и возвращает итератор с результатами.
Использование функции map в Python:
Встроенная в Python функция map() используется для применения функции к каждому элементу итерируемого объекта
pythonist.ru/python-map-znakomstvo:
map() перебирает элементы итерируемого массива (или коллекции) и возвращает новый массив (или итерируемый объект), который является результатом применения функции преобразования к каждому элементу

Для бросания исключения в 11l используется слово исключение по аналогии с переводом ключевого слова throw Евгением Зуевым. Ключевые подслова исключение.контроль и исключение.перехват также взяты из перевода Зуева.

Для числовых типов используются вполне общепринятые (принятые в том числе в языке РАЯ) названия Цел и Вещ.

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

Вот примеры решения задач на русском 11l
Задача ‘Mocha и прогулка’ (на основе этого решения):
цикл 1..Цел(ввод())
   пер n = Цел(ввод())
   пер a = ввод().разделить(‘ ’).применить(Цел)
   пер ответ = (0 .< n).применить(н -> н + 1) // можно сократить до `пер ответ = Массив(1..n)`
   если a.послед == 0
      вывод_эл(ответ [+] (n + 1))
   иначе
      цикл(н) 0 .< a.длина
         если a[н] == 1
            вывод_эл(ответ[0.<н] [+] (n + 1) [+] ответ[н..])
            цикл.прервать

Задача ‘Запрещённая подпоследовательность’ (на основе этого решения):
цикл 1..Цел(ввод())
   пер s = ввод()
   пер t = ввод()
   s = сортй(Массив(s)).соединить(‘’)
   если t == ‘abc’ & (‘a’ св s) & (‘b’ св s) & (‘c’ св s)
      s = s[0 .< s.найти_и(‘b’)]‘’(‘c’ * s.колво(‘c’))‘’(‘b’ * s.колво(‘b’))‘’s[s.об_найти_и(‘c’) + 1 ..]
   вывод(s)

Задача ‘Задача на доске’ (на основе этого решения):
цикл 1..Цел(ввод())
   пер s = ввод()
   пер m = Цел(ввод())
   пер b = ввод().разделить(‘ ’).применить(Цел)
   пер массив = сортй(Массив(Множество(Массив(s))))
   пер ответ = [Символ("\0")] * m // как в Python (1-ый вариант решения)
 //пер ответ =         "\0"   * m // только в 11l (2-ой вариант решения)
   цикл сумма(b) != -m
      Множество[Цел] индексы
      цикл(i) 0 .< m
         если b[i] == 0
            индексы.доб(i)
            b[i] = -1
      цикл
         пер q = массив.извлечь()
         если индексы.длина <= s.колво(q)
            цикл(i) индексы
               ответ[i] = q // в 11l строки можно изменять
            цикл.прервать
      цикл(i) индексы
         цикл(j) 0 .< m
            если b[j] != -1
               b[j] -= abs(i - j)
   вывод(ответ.соединить(‘’)) // (1-ый вариант решения)
 //вывод(ответ)               // (2-ой вариант решения)

Кроме того, 11l поставляется со скриптом, который переводит код на русском в код на английском (в том числе переводит имена общеупотребимых переменных).

Несмотря на поддержку русских ключевых слов, названий функций и типов, я считаю, что имена коротких переменных в большинстве случаев целесообразно писать на английском.
Так принято и в учебном алгоритмическом языке:
ввод n; S:=0

А также в русских текстах задач по программированию используются английские/латинские буквы:
codeforces.com/contest/1559/problem/C?locale=ru:
В первой строке находится одно целое число t ...
Первая строка набора входных данных содержит одно целое число n
И аналогично в книгах:
habr.com/ru/post/667022:
Напечатайте все возрастающие последовательности длины k, элементами которых являются натуральные числа от 1 до n.

На этом у меня всё. Спасибо за внимание.

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


  1. DrPass
    01.08.2022 00:14
    +26

    В этом отношении я согласен с Юрием

    Да нормальный же язык:
    ПЕР колво: ШИРЦЕЛ;
    УКАЗ
    колво:=10;
    КОН


    1. IvanPetrof
      01.08.2022 11:13
      +26

      <!ДОКТИП ягтр>
      <ягтр>
        <голова>
          <осебе кодировка="фпу-8">
          <заголовок>Если бы интернет изобрели в СССР</заголовок>
          <стиль>а { цвет: военноморскогофлота; }</стиль>
        </голова>
        <тело>
          <а>А ещё на клавиатуре были бы только русские буквы и не нужно было бы всё время переключать раскладку!</а>
        </тело>
      </ягтр>
      


      1. boulat
        01.08.2022 11:30
        +3

        Как вы собираетесь угловые скобки вводить, не переключая раскладку ))


        1. iig
          01.08.2022 11:35
          +3

          Раскладка была бы одна, но со всеми необходимыми знаками.


          1. staticmain
            01.08.2022 15:54
            +7


        1. Fragster
          01.08.2022 17:01
          +2

          На правом альте висят доп символы, специфичные для 1с и не только https://1c.chistov.pro/2012/11/1.html


        1. SferRA
          03.08.2022 14:04

          просто на клавиатуре было бы больше кнопок))


      1. Usul
        02.08.2022 04:50
        +1

        Кодировка "ФПУ-8"? Безобразие! Язык разметки ЯГТР должен использовать исключительно КОИ-8 (ГОСТ 19768-93)


      1. Dzenbuddist
        03.08.2022 02:16
        +1

        Только "голова" заменить на "шапка" и норм, можно работать


  1. 4reddy
    01.08.2022 00:28
    +9

    Лого - учебный язык программирования (появился в 196; в 1997 году вышла российская версия):

    ДЛЯ ПРИВЕТСТВИЯ
    ПИШИ [Привет, мир!]
    КОНЕЦ
    


    1. ReadOnlySadUser
      01.08.2022 01:31
      +95

      ДЛЯ ОТВЕРСТИЯ
      СВЕРЛИ [По утрам!]
      М*ДАК


      1. pehat
        01.08.2022 05:39
        +35

        Слова ДЛЯ и КОНЕЦ обозначают начало и конец функции. Пожалуйста, исправьте вашу программу, чтобы произведение сомножителей М и ДАК сверлило себе КОНЕЦ.


      1. StjarnornasFred
        01.08.2022 16:12
        +3

        Программа выглядит неоптимизированной, её явно писал джун. Опытные специалисты знают, что по ночам стены мягче. Если провести оптимизацию - указать во второй строке [По ночам!] - работа программы заметно ускорится.


        1. AlchemistDark
          01.08.2022 23:24

          А зачем в программе перерывы на остальные времена суток? Эффективность же падает. Это же не какой-то порядочный человек. Ему ни есть, ни спать, ни отдыхать не надо.
          ????


          1. iig
            02.08.2022 11:04
            +1

            Ночью электричество дешевле.


    1. Affdey
      01.08.2022 12:30
      +2

      появился в 196 - у праславян, видимо..


      1. 4reddy
        01.08.2022 19:41

  1. randomsimplenumber
    01.08.2022 00:28
    +11

    На обычной клавиатуре нужно постоянно переключаться на латиницу. Неудобно.


    1. ReadOnlySadUser
      01.08.2022 01:32
      +5

      Рекомендую поставить переключение на caps lock и станет достаточно удобно)


      1. randomsimplenumber
        01.08.2022 06:43
        +3

        Для того чтобы ввести []{}~@#' всё равно нужно переключаться.


        1. ReadOnlySadUser
          01.08.2022 11:18

          Если чуть заморочиться, эту проблему можно решить


        1. mike_nsk
          02.08.2022 00:44

          Как одинэсник, я давно нашел для себя решение: поставить Keyboard Maniac и прописать там макросы, чтобы кнопки с Ctrl работали, как будто включена английская раскладка: Ctrl+Х -> [, Ctrl+Ъ -> ], Ctrl+7 -> & и т.д.


      1. kisaa
        01.08.2022 07:11

        Заголовок спойлера

        цикл 1..Цел(ввод())
           пер n = Цел(ввод())
           пер a = ввод().разделить(‘ ’).применить(Цел)
           пер ответ = (0 .< n).применить(н -> н + 1) // можно сократить до `пер ответ = Массив(1..n)`
           если a.послед == 0
              вывод_эл(ответ [+] (n + 1))
           иначе
              цикл(н) 0 .< a.длина
                 если a[н] == 1
                    вывод_эл(ответ[0.<н] [+] (n + 1) [+] ответ[н..])
                    цикл.прервать


        1. tyomitch
          01.08.2022 11:19

          Объявить N и русскую Н графическими вариантами одного и того же символа, как в КОИ-7?


          1. DaneSoul
            01.08.2022 13:15
            +5

            Да а потом туде же прописную H английскую добавить, потому как выглядит также.
            Вот потом весело будет всякие сюрпризы при отладке ловить…


        1. alextretyak Автор
          03.08.2022 05:00

          получается вот такая путаница «n» и «н», как у автора

          А в чём тут путаница?


          Переменная n названа так т.к. в тексте условия задачи на русском языке написано "строка набора входных данных содержит одно целое число n".
          А переменная н обозначает просто порядковый номер. Можно было бы использовать i либо x, но, на мой взгляд, в данном случае н подходит чуть лучше.


          1. kisaa
            03.08.2022 05:42

            Меня смущает то, что переменная n объявлена (во 2-й строке), а переменная н не объявлена нигде. Так что больше похоже на путаницу.


      1. SteelRat
        01.08.2022 07:57
        +1

        На капслоке должен быть ctrl.



    1. Didimus
      01.08.2022 11:16
      +1

      А есть клавиатуры, где не надо переключаться? То есть оба набора букв одновременно на разных клавишах?


      1. mikhanoid
        01.08.2022 11:29

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


        1. faultedChip
          01.08.2022 12:11
          +3

          Мне кажется это худшее решение из всех возможных.


          1. mikhanoid
            01.08.2022 13:37
            +5

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


            1. Didimus
              02.08.2022 07:54

              Когда одна клавиатура на две машины, и ты нажимаешь DEL не для той машины...


              1. mikhanoid
                02.08.2022 21:22

                Так, вроде, речь о двух клавиатурах для одной машины...


                1. Didimus
                  02.08.2022 22:08

                  Это все сходные проблемы - неочевидная работа клавиатуры


      1. mindgameswithyou
        02.08.2022 00:44

        Идея интересная, но слишком замудрённая. Даже если и есть, то вряд ли они пользуются широким спросом


  1. slonoten
    01.08.2022 00:34

    Правокод - полный по Тьюрингу dsl для юристов, безскобочная нотация.
    Написанный код может быть прочитан и верифицирован без изучения dsl.
    Реализован транслятор в python.


    1. alisarin
      01.08.2022 12:59
      +2

      Интересный комментарий - гугление по слову "правокод" дает ссылку лишь исключительно на данный комментарий, интернет по поводу "правокода" ничего не знает. Если где-либо можно узнать подробности, то где?

      В отношении темы в целом - почему-то забыта система "Мастер", разработанная в начале 1990-х.

      Кроме того, язык макрокоманд Access в локализованной версии - русский; это несколько неполный язык программирования, в нем невозможно задать переменную, но все же - это вполне себе язык программирования, но позволяющий оперировать лишь исключительно объектами Access.


  1. alextretyak Автор
    01.08.2022 00:42
    +13

    Если бы языки программирования были оружием, каким бы был каждый из них?

    Ассемблер

    C

    11l

    C++

    Python


    1. Cerberuser
      01.08.2022 08:33
      +3

      То, что спойлеры вложены друг в друга - это так и задумано?..


      1. AlexeyK77
        01.08.2022 10:33
        +4

        полагаю это намек на Форт ;)


    1. Popadanec
      01.08.2022 11:02
      +1

      Спасибо. Очень наглядно для не программистов.


  1. SanyaZ7
    01.08.2022 01:38
    +1

    Про Clang не упомянуто. Позволяет писать на русском названия функций и переменных.


    1. DrPass
      01.08.2022 01:52
      +10

      Так это сейчас практически любой язык позволяет, будь-то C#, JavaScript или там Паскаль. Просто так писать непрактично, даже если вам не нужно, чтобы ваш код читали нерусскоязычные разработчики, вам просто надоест постоянно переключать раскладки.


      1. dvoeglazyi
        01.08.2022 04:10
        +5

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

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

        И вот идея для тех, кто хочет русский язык в программировании: не нужно изобретать очередной ЯП из соображений "лишь бы он был на русском", лучше сделать плагин к IDE, который просто русифицировал бы ключевые слова для какого-нибудь из существующих языков.


        1. DrPass
          01.08.2022 04:38
          +4

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

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


          1. Paskin
            01.08.2022 09:29
            +6

            Избыток свободного времени - это единственное разумное обьяснение, приходящее мне в голову. Ну, или надежда присосаться к бюджету.


          1. Maccimo
            01.08.2022 23:49

            1С не является и никогда не являлся языком общего назначения. Так что нет, не достаточно.


        1. GrimAnEye
          01.08.2022 08:25

          У меня в vscode стоит плагин переводящий комментарии (хотя на самом деле переводит любой выделенный текст) при наведении мышки. Так что мне без разницы на каком языке исходный код и комментари к нему


          1. nordligeulv
            01.08.2022 15:06

            Подскажите название плагина, пожалуйста



        1. k102
          01.08.2022 15:26
          +2

          А не проще комментарии тоже на английском писать?


          1. dvoeglazyi
            02.08.2022 17:02
            +1

            Кому как, мне - нет. И читать их мне было бы не проще, как вероятно и моим сотрудникам.


        1. mayorovp
          01.08.2022 18:28

          Комментарии — это одно, идентификаторы — другое. Последние попросту слишком часто встречаются вперемешку с ключевыми словами и требующей другой раскладки пунктуацией.


      1. Usul
        01.08.2022 07:48
        +1

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


        1. Rsa97
          01.08.2022 07:59
          +5

          function კვადრატი(عامل) {
            return عامل * عامل;
          }
          const सरणी = [1, 2, 3];
          const 新陣列 = सरणी.map(კვადრატი);
          console.log(新陣列); // [1, 4, 9]
          


          1. rstepanov
            01.08.2022 10:51
            +21

            Можно даже вот так:


            1. MockBeard
              01.08.2022 11:27
              +9

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


            1. ReadOnlySadUser
              01.08.2022 11:37
              +2

              Но ведь этот код всегда будет печатать какашку :) Кстати, как оказалось, не так уж и сложно читать этот код. Я потратил пару минут, чтобы знакомые конструкции начать распознавать)


              1. rstepanov
                01.08.2022 11:40
                +1

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


                1. ReadOnlySadUser
                  01.08.2022 11:47
                  -1

                  Чувствую лёгкую эйфорию, как будто иероглифы расшифровал :) На деле мне вообще пофигу на естественный язык используемый в качестве базового в ЯП. Я слова обычно не читаю и не думаю, я думаю смыслами, что они несут. if он и в Африке if, вне зависимости от того, написано там, "если", нарисован фрукт или какая-то другая абракадабра.

                  Единственное важное условие - должно быть удобно печатать и тут русский язык очевидно непригоден. Равно как и любой локальный язык и эмодзи. Для меня это неудобно не потому, что неудобно читать, а потому что неудобно писать


                  1. Jian
                    01.08.2022 12:59
                    +3

                    Напомнило, такой код:

                    Выглядит очень круто, как математика. :)


            1. Sergeant101
              01.08.2022 13:58
              +4

              Некоторые через чур злоупотребляют макросами.


              1. rstepanov
                01.08.2022 14:00

                Напоминает задачку "Chuck Norris" с Coding Game.


              1. MockBeard
                01.08.2022 19:17

                с таким кодом никакая обфускация не нужна )


        1. a-tk
          01.08.2022 08:30
          +1

          И чем это отличается от конструкторской документации на ракетные двигатели на русскому языке?


          1. Usul
            01.08.2022 09:00
            +1

            Если эта документация предназначена на экспорт, то ничем.


        1. Myxach
          01.08.2022 08:48

          Японцы, вроде как, тоже на японском пишут методы и переменные


          1. Usul
            01.08.2022 09:10
            +1

            Японских проектов автоматизации я пока не видел, возможно это так. Готовое оборудование - немного имел дело с Mitsubishi. Достаточно качественная документация на английском языке. Для китайских вендоров это огромная редкость. Из "обычного" японского софта приходилось работать с вот этим opensource проектом. Нормальные имена переменных на английском, попадаются комменты на японском. Но это опенсорс, так что, возможно, пример непоказательный :)


            1. Paskin
              01.08.2022 09:38
              +5

              Любимая фишка китайских разработчиков конфигураторов и утилит для их же железок - конфигурация читается из какой-нибудь директории с названием иероглифами, желательно с диска M:. Я уже заколебался их творения декомпилировать, благо что про релиз-мод и тем более обфускацию они не слышали...


            1. Willy64
              01.08.2022 11:24

              SCADA-система Yokogawa хоть и использует английские слова в интерфейсе, но также для переходов, выбора режимов и функций используются значки, похожие на символы катаканы. Очень тяжело такое осваивать русскому человеку. Я, периодически посещая установку с йокогавой, испытывал затруднения с запоминанием их значений.


        1. s60
          02.08.2022 15:49

          В сименсовском софте (например, в TIA portal ) уже очень давно можно писать имена символов на любом языке, в том числе на китайском. И китайцы так делают постоянно. Переменные, дата-блоки, функции — все на китайском. Особенно весело, когда установка приходит в неработоспособном состоянии, и все на китайском, включая ПО и схемы. Причем схемы не соответствуют действительности, а обозначения в схемах и в ПО контроллера разные (разумеется, и там, и там иероглифы).

          это же посерьёзнее, чем отключение от SWIFT…


      1. faultedChip
        01.08.2022 12:14

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


  1. Daddy_Cool
    01.08.2022 01:46
    +1

    "если" длинне чем "if", "цикл" длиннее чем "for", вот отсюда и появляются всякие "колво".


    1. vantagepointmoon
      02.08.2022 18:19

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


  1. Pest85
    01.08.2022 04:14
    +69

    Русский язык в программировании

    ... не нужен.


    1. radioxoma
      01.08.2022 13:48
      +8

      Использовал переменные на кириллице в python, когда пытался повторить расчёт зарплаты бухгалтерией. Всякие тарифные оклады, должностные оклады, надбавки за категорию, повышения и прочие тарифные ставки 1 разряда. На английский и обратно это плохо переводится (и через пару месяцев забудется), а транслит использовать как-то неприятно.


      1. Ta_Da
        01.08.2022 15:29
        +1

        И вы только что точно описали причину, по которой большинство решений на 1С было написано на русском, при наличии англоязычных вариантов ключевых слов.


        1. Jian
          01.08.2022 15:31
          +3

          В Excel с формулами кошмар = формулы на русском не работают в англоязычной версии. :(


          1. Ta_Da
            01.08.2022 15:36
            +2

            Я вас вполне понимаю =) Меня это решение в MS Excel тоже всегда удивляло.
            У 1С, кстати, с этим проблем чуток поменьше - т.е. английский и русский можно (в случае с всякими "ФабрикаXDTO", к сожалению, иногда и нужно) смешивать, и вроде с большего работает нормально, хотя и не без косяков.


          1. Didimus
            02.08.2022 19:28

            Там это просто магические заклинания, надо выучить и не думать, никакой мнемоники. Редактор формул ущербен, отсюда максимальное сократительство. Например, что такое ВПР? В результате выходит какой-то диалект падонкаффского, ЕСЛИ ЗНЧ БЛШ ОКРУГЛВВЕРХ


  1. 16tomatotonns
    01.08.2022 05:37
    +7

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

    В противном случае, давайте в каждой стране делать свою локализацию каждого языка.
    Теперь, в вашей огромной организации, половина кодовой базы на английском, четверть на русском (с другой терминологией, пришедшей в голову разработчиком, и ещё четверть на бурятском. А какие-то особо важные ключевые моменты на хинди и иддише, потому что почему бы и нет.
    А самое приятное, что изначально всё это допустим питон. Просто разработчики решили что будут делать как им "удобнее" и роднее :)

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


  1. Jian
    01.08.2022 06:06
    +14

    А, где классическая Рапира?


    1. KirovA
      01.08.2022 07:21
      -4

      Путиси.. путиси... вот поэтому и не приживается.


      1. Maccimo
        01.08.2022 07:41
        +1

        Во всём виноваты шрифты?


      1. Jian
        01.08.2022 08:49
        +5

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


        1. YegorP
          01.08.2022 09:42
          +2

          Так и будет получаться, если из фундаментально флективного языка выкидывать флексию, а не задействовать её по назначению.


          1. Jian
            01.08.2022 11:22
            +1

            Именно это я и имел в виду!


          1. MockBeard
            01.08.2022 11:38

            Вот абсолютно верный коммент! Английский это аналитический язык и использовать русский для программирования, это петь "русский рок" - вроде музыка, но это не rock)))


            1. Fr0sT-Brutal
              01.08.2022 15:18
              +1

              "Русская скала"? :)


              1. PereslavlFoto
                02.08.2022 01:21
                +1

                Булыжник — орудие пролетариата!


            1. dvoeglazyi
              02.08.2022 17:14

              Это почемуйто? Иногда песни даже русифицируются прям один-в-один, без потери смысла.

              Этот парень был из тех, кто просто любит rock...


              1. MockBeard
                02.08.2022 19:08

                RADIO TAPOK ?


    1. Squoworode
      01.08.2022 20:08

      Самое загадочное - КРАСЬСТРЕЛК(И)


  1. sav13
    01.08.2022 06:13
    +18

    Упаси боже такая статья попадется нашим чиновникам

    Сколько бюджетных миллиардов попилиться на разработку этого велосипеда с квадратными колесами.

    Но в результате все равно все программисты будут писать на нормальных языках - ибо глобализация и никуда от нее не деться


  1. RalphMirebs
    01.08.2022 06:25
    +3

    Автокод БЭСМ-6 тоже на русском
    www.computer-museum.ru/books/besm6_instruction.pdf


  1. delphinpro
    01.08.2022 07:01
    +12

    Не раз читал статьи про «русифицированные» языки программирования.
    Авторы показывают синтаксис, сравнивают с другими языками, показывают примеры кода на таких языках. Люди в комментариях в основном хейтят, кто-то ржёт, небольшой процент поддерживает и разделяет идею «русских» ЯП.

    Но никто никогда не пишет – зачем? Для чего создаются подобные шедевры, что движет их авторами? Какие перспективы они видят для своих творений?

    Очень хотелось бы почитать мнения поддерживающих идею «русских» ЯП, а в идеале самих авторов, если таковые прочитают этот комментарий.

    Я же вижу только одно разумное предположение – just for fun.


    1. Jian
      01.08.2022 07:03
      +1

      Как учебный язык для детей.


      1. delphinpro
        01.08.2022 07:06
        +14

        Не соглашусь. Английский детям преподают уже с первого класса. Если учить программирование, то не стоит сразу начинать засорять мозг тем, что ему потом никогда не пригодиться во первых, и во-вторых, придется перепривыкать к нормальному кодингу…


        1. F0iL
          01.08.2022 08:25
          +4

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

          А может, это намеренный план, учитывая наметившуюся в стране тенденцию на огораживание от остального мира? Учить программистов так, чтобы им было сложнее свалить (нужно переучиваться), и чтобы написанный ими код никуда не утек (его просто никто не поймет)...


        1. ZeroBot-Dot
          01.08.2022 09:51

          Позвольте докопаться/поинтересоваться.

          Но где Вы видели английский в школьной программе с первого класса?

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


          1. yurixi
            01.08.2022 09:56
            +1

            Что за мелкие претензии?

            Надо делать правильные шаги в отношении английского.

            Надо заявлять:
            1. Человек вправе не знать английского языка.
            2. И при этом быть программистом.

            Если что, я такого не заявляю. Но тот кто манифестирует «английский приди, порядок наведи» — ССЗБ.


            1. F0iL
              01.08.2022 10:30
              +11

              Английский - язык международного общения для программистов. Актуальные книги на английском, профессиональные конференции на английском (даже на исконно российских конференциях нередко бывают англоязычные спикеры), и даже самое каждодневное - документация по платформам/фреймворкам/библиотекам на английском. Переводы на русский появляются или с запозданием и ошибками, либо не появляются вообще. Крупнейшие форумы и профессиональные ресурсы на английском. Переписка в списках рассылки и GitHub issues опенсорсный проектов между людьми из разных стран мира идёт на английском. Комментарии к коду на английском будут полезны программистам со всего мира, и они смогут переиспользовать этот код или поучаствовать в его разработке. И вы тоже сможете.

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


              1. yurixi
                01.08.2022 10:39
                -17

                Да, и я не возражал к этому, до определённой даты.

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

                Но аргумент «весь мир» очень близок к аргументу «все так делают», не находите?


                1. F0iL
                  01.08.2022 10:48
                  +5

                  Но после определённой даты

                  Какой именно?

                  Но аргумент «весь мир» очень близок к аргументу «все так делают», не находите?

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


                  1. yurixi
                    01.08.2022 10:58
                    -12

                    Какой именно?
                    Через два дня от даты с одними двойками.
                    Если в данном случае делать так, как делают все, несёт в себе большой ряд существенных преимуществ
                    Разумеется, нужно выбирать лучший вариант. А какой вариант лучший мы все знаем.


                    1. F0iL
                      01.08.2022 11:02
                      +2

                      Но после определённой даты возникло подозрение, что английский имеет негативное влияние на разум.

                      Через два дня от даты с одними двойками.

                      И почему же вы так решили?


                      1. yurixi
                        01.08.2022 11:21
                        -1

                        И почему же вы так решили?

                        Если вы хотите действительно обсудить, то задайте точный вопрос, чтобы было без моих домыслов.


                      1. F0iL
                        01.08.2022 11:24
                        +5

                        Вы сказали, что после 24.02 у вас возникло подозрение, что английский язык имеет негативное влияние на разум, я спросил очень даже точный вопрос: почему у вас возникло такое подозрение?


                      1. yurixi
                        01.08.2022 11:45
                        -12

                        Людей на Земле условно можно поделить на знающих русский и знающих английский. Условность — в отбрасывании других двух вариантов. В эту дату началась война, условно неизвестно кого с неизвестно кем. Условно потому что на этот счёт есть разногласия. Дата тоже условная. Существуют разногласия и по поводу причин этой войны и по поводу того куда она ведёт. Удивительно, но между делением кто как что понимает и знанием языка в моём воображении существует корреляция. По этому вопросу у меня есть позиция, соответственно, противоположную позицию (тут всё до двух вариантов сведено, для простоты) я считаю заблуждением. Корреляция приводит к тому что есть подозрение, что и язык влияет на понимание. Но если бы мне надо было кого-то в чём-то убедить, я бы конечно взял реальную статистику, а не воображаемую корреляцию.
                        Кроме того, корреляция не означает причино-следственную связь. Возможно одна и та же причина создаёт оба разделения.

                        Эта причина, какова бы она ни была, обращает внимание, что к понятию «своё» надо относиться последовательно.


                      1. faultedChip
                        01.08.2022 12:21
                        +3

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

                        Т.е. надо массово учить английский.


                      1. yurixi
                        01.08.2022 12:22

                        Т.е. надо массово учить английский.
                        Похоже, вы его знаете.


                      1. faultedChip
                        02.08.2022 07:55
                        +1

                        Знание лучше веры.


                      1. yurixi
                        02.08.2022 08:24

                        А знание веры ещё лучше.


                      1. Cerberuser
                        02.08.2022 08:31
                        +2

                        Знание веры независимо от знания объекта веры. А вот знание объекта веры несовместимо с самой верой (по определению веры).


                      1. yurixi
                        02.08.2022 08:36

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


                      1. Cerberuser
                        02.08.2022 08:48
                        +1

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


                      1. yurixi
                        02.08.2022 08:52

                        Вера в случайность не позволяет везение считать не случайностью.


                      1. SlimShaggy
                        01.08.2022 12:44
                        +9

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

                        А что тут удивительного? Человеку, знающему английский, доступно на порядок больше источников информации, и соответственно его понимание формируется на основе большей полноты данных. Удивительно скорее то, что вы считаете это чем-то негативным.


                      1. yurixi
                        01.08.2022 12:58
                        -1

                        Разве не удивительно, что качество информации оценивается по количеству?


                      1. SlimShaggy
                        01.08.2022 13:18
                        +1

                        Нет конечно. Чем больше выбор, тем больше шансов найти среди предлагаемого нечто качественное (это не только к информации относится).


                      1. Cerberuser
                        01.08.2022 13:18
                        +3

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

                        2) При большем количестве источников с разными позициями появляется возможность увеличить качество информации путём личной интеллектуальной деятельности (сопоставить их друг с другом).


                      1. F0iL
                        01.08.2022 13:21

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


                      1. Cerberuser
                        01.08.2022 13:22

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


                      1. yurixi
                        01.08.2022 13:28
                        -2

                        А я вот считаю что измерение информации количеством это близко к позиции «все говорят», «все так делают».
                        И оговорка «больше шансов» не спасает. Выбери один из миллиона кирпичей и съешь.


                      1. F0iL
                        01.08.2022 13:31
                        +2

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


                      1. yurixi
                        01.08.2022 14:05
                        -3

                        Давайте общаться приятно для обеих сторон.

                        Ну вот правда, аргумент «везде где надо говорят, одно и тоже, только выбирай» вы считаете существенным?
                        Это же всё равно личный выбор.

                        Без разборов по существу всё скатится к оскорблениям. А по существу это другая проблема, чем в топике.

                        Впрочем, позиция «английский язык хорош» подорвана. И речь не только не о программировании. Но ещё и о программировании.


                      1. Cerberuser
                        01.08.2022 15:48
                        +2

                        «везде где надо говорят, одно и тоже, только выбирай»

                        Лично я как раз акцентировал внимание на том, что говорят не одно и то же, и именно это "не" и превращает количество в качество. Впрочем, если для вас позиция англоговорящей стороны - заведомая ложь, а русскоговорящей - нет, то, разумеется, "приятным для обеих сторон" разговор не будет (кроме случаев, когда ваш собеседник думает так же).


                      1. yurixi
                        01.08.2022 15:57
                        -1

                        Ну даже в том что «одно и то же» или не «одно и то же» есть вовсе не два варианта понимания. Что если говорят разное, но по сути одно и то же?
                        И это добавляет вариацию: согласие с этим разделением уровней. Или противоположное, принятие множественность форм за авторитет?


                      1. F0iL
                        01.08.2022 13:05
                        +5

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

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


                      1. yurixi
                        01.08.2022 13:25
                        -1

                        Ваш комментарий можно написать всего тремя словами «передумать не пробовал?»


                      1. F0iL
                        01.08.2022 13:26
                        +1

                        Неа, посыл был немного другой.


                      1. yurixi
                        01.08.2022 13:30
                        -2

                        Предлагаю переформулировать.


                1. Jian
                  01.08.2022 11:27
                  +3

                  после определённой даты возникло подозрение, что английский имеет негативное влияние на разум

                  Мысли о возможности жить и работать за границей?


                  1. F0iL
                    01.08.2022 11:37
                    +2

                    Ну, при такой логике наоборот можно сделать вывод, что английский имеет очень положительное влияние на разум :)

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

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


                  1. yurixi
                    01.08.2022 11:50
                    -5

                    За границей — это туризм, не эмиграция же? Ведь эмиграция — положительное понятие или отрицательное — уже дело вкуса. Или всем известно какой вариант правильный?


          1. F0iL
            01.08.2022 10:18

            Но где Вы видели английский в школьной программе с первого класса?

            Уфа, 1996 год :) Правда, там была не средняя школа, а гимназия.


            1. ZeroBot-Dot
              01.08.2022 10:35

              А, ну так то понятно :) Я думал мы про современную школу говорим :)

              Хотя у меня дочь учит английский еще с садика, благо попался частный садик :)


          1. delphinpro
            01.08.2022 10:38

            Возможно и со второго. Младший уже в пятый пошел, я честно говоря не помню точно.


          1. ReadOnlySadUser
            01.08.2022 11:41

            Но где Вы видели английский в школьной программе с первого класса?

            Таштагол, Кемеровская обл. Средняя Образовательная Школа #10. Учили правда так себе, но английский был с первого класса.


            1. ZeroBot-Dot
              01.08.2022 14:29

              Давно это было? Мне для статистики.


              1. ReadOnlySadUser
                01.08.2022 15:40

                Начало обучения было 2000. В 2010-м закончил, но английскому всё ещё учили в младших классах. Знаю, потому что классная руководительница была учителем английского. Правда по-моему учили со второго уже, а не с первого.


          1. AmSha
            01.08.2022 12:45

            В школе у моей дочки английский с 1 класса. По желанию, правда. Алфавит учили и слова простые.


            1. ZeroBot-Dot
              01.08.2022 14:29

              По желанию как факультатив после школы?


              1. AmSha
                01.08.2022 15:07

                Спросили родителей, большинство высказалось "За". После этого добавили в расписание еще один урок. Это обычная районная школа, Питер.


    1. yurixi
      01.08.2022 07:16
      -26

      Я поддерживаю создание русского языка программирования и могу ответить на этот вопрос.

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

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

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


      1. Jian
        01.08.2022 07:25
        +24

        русский человек думает на русском

        Я не русский (и не украинец), и когда я говорю на русском я думаю на русском, а когда говорю на английском я думаю на английском.


        1. yurixi
          01.08.2022 07:31
          -4

          Выглядит как отсутствие возражения.


        1. F0iL
          01.08.2022 08:21
          +9

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


        1. Didimus
          01.08.2022 11:23
          +14

          А когда пишу код, я думаю о том, что будет делать код, а не о слове, которое набираю


          1. dvoeglazyi
            02.08.2022 17:44
            +1

            Вот это, мне кажется, ближе всего к правде - я бы тоже не сказал, что при разработке я думаю на определённом языке. Общение и кодирование на втором плане. Есть некий более-менее универсальный "язык алгоритмов", которым описываются происходящие процессы - функция, константа, переменная, условие, цикл, что-нибудь ещё.
            Языки программирования - это больше про политику. Типа, вчера код писал разработчик из США, а завтра его можно с успехом заменить на какого-нибудь индуса, потому что нанять его стало выгоднее, а тот код был написан на знакомом ему языке. Но послезавтра уже индуса можно заменить на условного жителя Африки по тем же самым причинам.


      1. dopusteam
        01.08.2022 07:49
        +6

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

        Я правильно понимаю, что сейчас условные американцы\англичане пишут более доступный, точный, ясный и безопасный код, чем условные русские разработчики?


        1. yurixi
          01.08.2022 07:56
          -3

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


          1. dopusteam
            01.08.2022 08:00
            +5

            Не понимаю, к чему ведёте, я задал прямой вопрос, но как то Вы странно от него ушли.

            Замените "американцы\англичане" на "люди, для которых английский язык является родным" и попробуйте ещё раз


            1. yurixi
              01.08.2022 08:05
              -12

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


              1. randomsimplenumber
                01.08.2022 08:10
                +9

                Интересно, каким местом Python английский;) Расскажите англичанину, что является столицей Великобритании , только на Python;) Что то мне кажется что native speaker вас не поймет:)

                На ассемблере тоже можно попробовать спросить как пройти в библиотеку ;)


                1. yurixi
                  01.08.2022 08:16
                  -12

                  Считаю ваше признание в не слежении за содержанием диалога бессмысленным.


                  1. yurixi
                    01.08.2022 08:55
                    -3

                    Не затруднит ли тех кто минусует пояснить: в диалоге для ясности проводящем классификацию на две характеристики языка: русский/не русский родной/не родной вдруг попросить рассказать что-то человеку на языке программирования — разве это не отсутствие слежения за диалогом? Что я мог тут упустить?


                    1. Cerberuser
                      01.08.2022 08:58
                      +2

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

                      (Не минусовал)


                      1. yurixi
                        01.08.2022 09:23
                        -6

                        Для языков программирования родной/не родной — вполне определённая классификация. Вышло обновление Питона, в нём сказано «ура, новая функция, называется (новое английское слово) — ведь все англоязычные знают что оно означает — это так удобно!». Нет, не удобно.
                        Вот до этого момента вот именно этим словом и не пользовался, а теперь надо доучивать.
                        Так что вопрос удобства кодирования это одно, а удобство расширения, развития это другое.


                      1. iig
                        01.08.2022 09:30
                        +2

                        Вот например добавился в python некий walrus operator :=

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


                      1. yurixi
                        01.08.2022 09:35
                        +1

                        Анголязычным как раз только один шаг до распознавания в таком значке зубов моржа, а вот мне как русскоязычному вспоминается песня битлов «ай эм э валрус», и надо вспоминать о ком была та песня. Для начала.


                      1. iig
                        01.08.2022 10:02
                        +2

                        А те кто Битлз не слушали, тем совсем никак ;)

                        И как поможет знание того, что walrus это такое животное с бивнями, в понимании смысла этого оператора?


                      1. yurixi
                        01.08.2022 10:18

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


                      1. Usul
                        01.08.2022 09:40
                        +4

                        Вопрос к @yurixi. Как вы думаете, почему создатель Python - голландец - использовал для своего проекта английский язык?


                      1. yurixi
                        01.08.2022 09:44

                        Думаю, причин две. Высокая распространённость и подходящая для кодирования простота.


                      1. Usul
                        01.08.2022 09:53
                        +5

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


                      1. yurixi
                        01.08.2022 09:57
                        -10

                        Я давно причислил аргумент «все так делают» к глупости.


                      1. yurixi
                        01.08.2022 10:48
                        -3

                        Я веду диалог с позиции творчества, идея русского языка хорошая, стоит реализации.

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

                        Ну что за глупость??


                      1. F0iL
                        01.08.2022 10:49
                        +1

                        Инженеры-конструкторы в России оформляют чертежи по стандартам ЕСКД. По-вашему совет молодому специалисту "оформляй чертежи по ЕСКД, потому что так делают все, тогда другие инженеры смогут понять твои чертежи, а ты сможешь понять чужие" будет являться глупостью?


                      1. yurixi
                        01.08.2022 11:10
                        -2

                        Аргумент «как все» подразумевает что стандарт выбран за тебя.

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

                        А то что вы на автомате пропускаете различие — да, это глупость. Именно та, которая содержится в аргументации «как все».

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


                      1. F0iL
                        01.08.2022 11:17

                        означает что ты сам выбрал стандарт, и понятно кто и зачем его выполняет.

                        Инженер в большинстве случаев сам не выбирает стандарт, а использует тот, что общепринят в индустрии. Именно поэтому российские ЕСКД, кстати, практически полностью соответствуют международным ISO.
                        С языком то же самое - программист, если ему важно, чтобы над его кодом могли работать другие, и ему самому было привычно работать с чужим кодом, осознанно выберет именно один из тех языков, который поймут другие (при условии что этот язык подходит для решения его задач).

                        Мне прям даже интересно, где бы сегодня была например Linux, если бы Торвальдс в свое время начал писать ее не на общепринятым англоязычном Си, а на каком-нибудь выдуманном шведско-финском языке программирования.

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

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


                      1. yurixi
                        01.08.2022 11:24

                        Утверждение «минусы иллюзорны» субъективно. О некоторых минусах можно даже не задумываться.
                        В общем, можно сойтись на том что не надо решать за других.


                      1. michael_v89
                        01.08.2022 14:36
                        +7

                        Я давно причислил аргумент «все так делают» к глупости.

                        Все в России разговаривают на русском языке. По вашей логике делать как все это глупость. Почему вы тогда разговариваете на русском языке, как делают все, а не на своем выдуманном?
                        Или все-таки это по каким-то причинам не является глупостью? Можете тогда сформулировать эти причины?


                      1. yurixi
                        01.08.2022 14:53
                        -2

                        Знаете, тема обучения школьников почему не надо быть баранами и не относиться к аргументации «все так делают» с полной серьёзностью, конечно интересная.

                        Но вы действительно страдаете этой проблемой, чтобы я вас от неё отучал? Действительно если все скажут «оно вкусное» на солёное, как в опытах над детьми, которые соглашались если все другие скажут то что отличается от их мнения, вы согласитесь?

                        По-моему, я даже в детском садике закричал бы «да вы что, охренели все?»


                      1. lymes
                        01.08.2022 15:00
                        +1

                        Знаете, почитал я ваши комменты (все сплошь заминусованные), и у меня сложилось впечатление, что ваш посыл - "я тут самый умный, а все дураки". Ну что же, позиция понятна. Но боюсь, у меня для вас плохие новости. Не в обиду. :-)


                      1. Jian
                        01.08.2022 15:11

                        Его посыл, знание иностранного языка = "первейший признак шпиона". https://i-fakt.ru/instrukciya-sotrudniku-kgb-sssr-po-vychisleniyu-shpionov/


                      1. lymes
                        01.08.2022 15:25

                        Аххаххахахаха, а может чел решил на волне истерии против коллективного запада хайпануть и заработать 30 тетрадрахм на разработке православного языка программирования?

                        А что, идея неплоха, может и прокатить. Вон же, хотели православный 3D движок, чем ЯП хуже.


                      1. yurixi
                        01.08.2022 15:19
                        -1

                        Нет, я как раз пытался обсудить содержательно, выслушивая и вникая в высказывания собеседника, возникая только на явно убогих аргументах «ну, все же так думают/делают».


                      1. michael_v89
                        01.08.2022 17:12
                        +1

                        почему не надо быть баранами и не относиться к аргументации «все так делают» с полной серьёзностью

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


                        Но вы действительно страдаете этой проблемой, чтобы я вас от неё отучал?

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


                        Действительно если все скажут

                        Откуда вдруг взялась ситуация "без причин согласиться с тем, что все скажут"? Разговор был о том, что люди делают, а не о том, что они говорят, и о том, что у них есть причины считать свое мнение правильным, и они их вам приводили, а не о том, что они так делаю без причин. То есть прямая противоположность тому, что вы хотите использовать как аналогию.


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


                      1. yurixi
                        01.08.2022 17:21

                        на основании этого называете окружающих глупцами.
                        Вряд ли утверждение "(вот этот) аргумент — глупость" — это название кого-либо глупцом, даже если он верит, что это весомый аргумент, не глупо было бы передумать.

                        почему в данном случае вы не считаете глупостью делать как все

                        «Почему вы делаете как все?»
                        «Почему вы выбрали делать так как делают все?»
                        Улавливаете разницу?
                        «Потому что так делают все»
                        «Потому что оценил преимущества и выбрал»
                        А так?


                      1. michael_v89
                        01.08.2022 18:02

                        Вряд ли утверждение "(вот этот) аргумент — глупость" — это название кого-либо глупцом

                        Это именно так.
                        Глупец — "Тот, кто поступил, вел себя глупо, сделал или сказал глупость."
                        Вы говорите, что они делают глупость, значит подразумеваете, что они являются глупцами, по крайней мере пока они так делают.


                        Улавливаете разницу?

                        Я же попросил ответить прямо. Если решили участвовать в дискуссии, соблюдайте пожалуйста общепринятые правила ведения дискуссии. В частности, это означает, что на вопросы надо отвечать прямо, а не намеками.


                        «Потому что оценил преимущества и выбрал»

                        Ну вот и другие тоже оценили преимущества и выбрали. И вам эти преимущества сообщили. Почему вы тогда все равно называете это глупостью, если по вашим критериям это не глупость?


                      1. yurixi
                        01.08.2022 18:19

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

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

                        Куда прямее? Если вы скажете «так надо делать потому что так делают все» — я назову это глупостью и разрешу вам домыслить, что вы и сам глупец.

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


                      1. michael_v89
                        01.08.2022 19:01
                        +1

                        А здесь у нас с вами что за затык?

                        Затык в том, что вы уходите от ответа на вопросы.


                        Куда прямее?

                        Напоминаю мой вопрос:
                        Почему вы тогда разговариваете на русском языке, как делают все, а не на своем выдуманном?
                        Или все-таки это по каким-то причинам не является глупостью? Можете тогда сформулировать эти причины?


                        Ответа на него вы не дали. Прямой ответ на этот вопрос должен начинаться "Я разговариваю на русском языке, как делают все в России, и не считаю это глупостью, потому что ...".


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

                        А почему вы решили, что ваши собеседники делают так без осмысления? Вам неоднократно привели аргументы, почему они так делают.


                        А тот кто возмущён, почему это кто-то вдруг не стал повторять за всеми и сам не видит разницы

                        В словах ваших собеседников ничего подобного не было. Вам неоднократно объяснили преимущества, почему в данном случае надо использовать общепринятые решения. Они указаны прямо в том комментарии, на который вы ответили, что аргумент «все так делают» это глупость. Я пожалуй их процитирую:
                        "проще создать большое и активное сообщество"
                        "язык лучше развивается и проще в использовании"


                        То есть человек не говорил, что причина в том, что все так делают, это вы приписали ему эти слова.


                      1. yurixi
                        01.08.2022 19:09

                        Я разговариваю на русском языке, как делают все в России, и не считаю это глупостью, потому что
                        Дело не в том что так делают все, а в том что этот язык для меня родной. Вам помог этот очевидный ответ найти разницу между «как все» и другими вариантами аргументации?
                        это вы приписали ему эти слова.
                        Как бы вы себя чувствовали если бы тот кому я так ответил тут же со мной согласился? Вы бы предположили, что с вами что-то не так, да? Что-то до вас не дошло бы в этом случае. Явно что-то упускаете.


                      1. michael_v89
                        01.08.2022 19:24
                        +1

                        Дело не в том что так делают все, а в том что этот язык для меня родной.

                        Не вижу, как это мешает вам придумать несуществующий язык и разговаривать не как все. Вы же можете придумать какой-то язык, который никто не будет понимать. Или как минимум изучить какой-то достаточно редкий. Ну чтобы не делать как все. Но почему-то этого не делаете. Значит есть какие-то другие причины?


                        Вам помог этот очевидный ответ найти разницу между «как все» и другими вариантами аргументации?

                        Почему вы решили, что я до этого не находил разницу «как все» и другими вариантами аргументации?
                        Вы постоянно приписываете собеседнику какие-то свои домыслы в оскорбительном ключе.
                        Я указывал вам на то, что ваши собеседники и так используют другие варианты аргументации, отличные от "как все".


                        Как бы вы себя чувствовали если бы тот кому я так ответил тут же со мной согласился?

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


                      1. yurixi
                        01.08.2022 19:36
                        -3

                        не делать как все

                        Вот ты и попался. Отрицание аргумента «делать как все» не приводит к аргументу «делать не как все». Ну что, школьник, уроки все сделал? Шучу, не обижайтесь.

                        Но если серьёзно, прям загадка, как это так? Вроде рассуждать умеет, но вот как это у вас происходит — отрицание сразу шатает в противоположность да? А вы точно программист? Как можно приписывать мне аргумент «хочу не как все» на основании «не хочу как все»?

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

                        Давайте закончим. Ну зачем мне разговаривать с человеком который думает, что рубит в логику, а сам не рубит? Я ж от смеха лопну. Я уже один раз пошутил, а дальше ещё одно подтверждение.

                        Да, собеседник не выражал согласия. Но эти два мнения просто не логические противоположности, как вы сами себе придумали. Так что вполне мог.


                      1. michael_v89
                        01.08.2022 20:00

                        Отрицание аргумента «делать как все» не приводит к аргументу «делать не как все».

                        Приводит. "Ничего не делать" тоже означает "не как все".


                        Как можно приписывать мне аргумент «хочу не как все» на основании «не хочу как все»?

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


                        Единственно возможный третий вариант это "ничего не хочу", а в контексте данного разговора он бессмысленный. Я предполагал, что вы умный человек, и не будете участвовать в дискуссии, подразумевая этот вариант.


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


                        Но эти два мнения просто не логические противоположности, как вы сами себе придумали.

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


                      1. yurixi
                        01.08.2022 20:46

                        вы сказали, что делать как все это глупость
                        Так так. сравним.
                        Я давно причислил аргумент «все так делают» к глупости.

                        Так что же является глупостью? Делать как все, или аргументировать через то что все так делают? Вот неразрешимая для вас загадка.

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

                        Так. Я проржался. Теперь надо, наверное, как-то обсудить конкретно, противоречат ли два утверждения «есть много аргументов почему все это выбирают» и «аргументировать через то что так все делают — глупо» не противоречат друг другу.

                        Разница в существовании момента осмысления перед выбором. Если первое сообщение подразумевает, что выбор просто разумен, и его можно рассмотреть, то нет никакого противоречия. И даже со вторым сообщением автор первого может согласиться. А если подразумевает, что надо просто повторить, то осмысления нет и тогда есть противоречие.


                      1. michael_v89
                        02.08.2022 01:14
                        +1

                        Делать как все, или аргументировать через то что все так делают? Вот неразрешимая для вас загадка.

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


                        У умного человека целых три варианта. Так и запишем. Не больше и не меньше.

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


                        На арене выступает человек, не умеющий читать мысли другого человека, но точно знающий, что они противоречат логике!

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


                        Теперь надо, наверное, как-то обсудить конкретно, противоречат ли два утверждения «есть много аргументов, почему все это выбирают» и «аргументировать через то, что так все делают — глупо» не противоречат друг другу.

                        Так, я похоже понял. Вы опять потеряли нить разговора. Напомню диалог в этой части:


                        — То есть человек не говорил, что причина в том, что все так делают, это вы приписали ему эти слова.
                        — Как бы вы себя чувствовали если бы тот кому я так ответил тут же со мной согласился?
                        — … все эти "если бы да кабы" никак не меняют факта, что человек этого не говорил.
                        — Да, собеседник не выражал согласия… Так что вполне мог.


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


                        А тот кто возмущён, почему это кто-то вдруг не стал повторять за всеми и сам не видит разницы между существованием и отсутствием момента осмысления — тот вы.

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


                      1. Kanut
                        01.08.2022 15:09
                        +3

                        Делать что-то исключительно по причине что "все так делают" это глупость.


                        Но это не значит что не может существовать других, более адекватных, причин делать что-то также как все остальные.


              1. dopusteam
                01.08.2022 08:20
                +6

                Англичане программируют на 'родном', но это им не даёт преимуществ. Другие народы, для которых английский является родным, тоже не получают преимуществ. Русские могут получить преимущества, я правильно понимаю?


                1. yurixi
                  01.08.2022 08:25
                  -9

                  Да, из-за того что сам русский язык другой.


                  1. dopusteam
                    01.08.2022 08:35
                    +9

                    А есть конкретные примеры того, что именно есть в русском такого, что поможет писать более ясный и безопасный код? Склонения? Падежи? Что?


                    1. yurixi
                      01.08.2022 08:46
                      -8

                      Мы обсуждаем то чего ещё нет, но в общем, возможно.
                      Преимущества навскидку? В русском языке есть разные окончание для розного рода, и поэтому упомянув переменные, названные разными родами, повторное упоминание в этом же предложении можно обозначать его/её, и будет ясно о чём речь. Или привязать глагол, и по одному окончанию будет ясно к чему он относится. Но сам русский язык программирования я вам сейчас сходу не придумаю. Даже указанные особенности могут восприниматься сейчас не как преимущества. При общении — рода, падежи и склонения помогают, остаётся эту помощь воплотить в программировании.


                      1. Cerberuser
                        01.08.2022 08:52
                        +2

                        есть разные окончание для разного рода

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


                      1. yurixi
                        01.08.2022 08:58
                        -1

                        Ваш ответ упоминает мою опечатку. Только целиком ваш ответ по вашим понятиям должен выглядеть как «у вас тут какая-то не такая буква, и я ничего не понял». Именно так делают компьютеры.


                      1. Constanine
                        01.08.2022 09:19

                        При общении — рода, падежи и склонения помогают, остаётся эту помощь воплотить в программировании.

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


                      1. Jian
                        01.08.2022 09:20
                        +1

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

                        Было бы реально круто!


                      1. warhamster
                        01.08.2022 11:09
                        +1

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

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


                      1. yurixi
                        01.08.2022 11:12
                        -10

                        А вдруг(!) компьютер потому и тупой что программируется на английском?


                      1. faultedChip
                        01.08.2022 12:30
                        +7

                        Ужасно. Серьёзно, у вас мысли на уровне Задорнова (не комплимент).


                      1. yurixi
                        01.08.2022 12:45
                        -1

                        Ну нет, мысль просто свёрнута до одного предложения. А так — вы действительно думаете, что составлять программы пользуясь микрофоном и динамиком было бы хуже?


                      1. PanDubls
                        01.08.2022 16:30

                        Мне кажется, так думает любой, кто хоть раз пытался втолковать что-то более или менее сложносочиненное даже очень продвинутому голосовому помощнику. А если у меня фефекты фикции (а они есть у каждого первого, если он не профессиональный актёр), то вообще швах.

                        Вы вот, как я понимаю, математик. Вы как предпочитаете математические задачи с какими-нибудь сложными уравнениями решать - ручкой (шаркиовой) на бумажке или вслух надиктовывать?


                      1. yurixi
                        01.08.2022 16:57

                        Ручкой. Но почему бы мне не хотеть говорить компьютеру «умножь обе части на икс» так чтобы это было не шаблоном, а пониманием, включающем подтверждение верности этого действия, включающем проверку, надо ли делать уточнение о случае когда икс равен нулю?


                      1. faultedChip
                        02.08.2022 08:00

                        Ну нет, мысль просто свёрнута до одного предложения.

                        Так я про это и пишу - вы как и Задорнов приписываете языку какие-то мистические свойства.

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

                        Я вообще не понимаю этого аргумента - это в каких случаях надиктовывание текста годится для чего-то, кроме дневника капитана в "Звёздном пути", или заметок патологоанатома? И то во втором случае это в итоге переносится на бумагу.


                      1. yurixi
                        02.08.2022 08:12

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


                      1. iig
                        02.08.2022 11:10

                        Английский язык подходит для кодирования потому что сам похож на кодирование.

                        Каким местом английский язык похож на кодирование? Разве что некоторые слова из английского совпадают с ключевыми словами из некоторых языков программирования. Так с русским то же самое ;)


                      1. yurixi
                        02.08.2022 11:26

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


                      1. iig
                        02.08.2022 11:33

                        Как вам времена из английского языка?


                      1. yurixi
                        02.08.2022 11:43

                        Что вы имеете ввиду?


                      1. iig
                        02.08.2022 11:51

                        Что вы имеете ввиду?

                        В английском языке есть времена. Их много. Попробуйте закодировать ;)

                        А вы что имеете в виду (с примером если можно)?


                      1. yurixi
                        02.08.2022 12:01

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


                      1. iig
                        02.08.2022 12:15
                        +1

                        благодаря отсутствию падежей издалека это выглядит как грамотная конструкция

                        Очень издалека. Для меня тоже любой набор иероглифов выглядит как образец каллиграфии.

                        А вот «вернуть переменная» на русском уже выглядит не грамотно.

                        Всего то? Ну кодируйте "переменная" и "переменную" в один токен var и будет компилятору всё равно, а вам будет щасьтье.


                      1. faultedChip
                        02.08.2022 13:30
                        +3

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

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

                        И отвечать программная среда для моментов отладки тоже могла бы.

                        Фэйспалм... ЭТО НИКОМУ НЕ НУЖНО. Нужна возможность видеть всё состояние программы, нужна возможность условных остановок, возможность отлатки дампов, куча всего нужно - но не голосовая озвучка. И не распознавание голоса. И не суверенный язык программирования.


                      1. yurixi
                        02.08.2022 14:04

                        Из вашего комментария я понял, что вы боитесь, что вас обманут путём того что представят под видом перспективной разработки то что будет выглядеть как русский язык программирования, а по факту будет содержать излишества и являться необоснованной тратой средств. Думаю, если так и будет, то это буду не я. Меня можете не бояться.

                        Я бы что-нибудь полезное сделал.


                      1. iig
                        02.08.2022 14:15

                        либо теоретик.

                        Либо просто тролит ;)


                      1. yurixi
                        02.08.2022 14:35

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

                        Когда я при отладке «задаю программе вопросы», например «как будет выглядеть то, как будет выглядеть это, а в чём разница?», то программу, которая исследует данные и отвечает, мне приходится писать самому. Так что, обыкновенная рефлексия приводит к мысли всё это превратить в более удобный вид общения.


                      1. iig
                        02.08.2022 14:49
                        +1

                        много домысливает, и только рамках своих представлений.

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

                        более удобный вид общения

                        Автоматы Милли/Мура не умеют в общение.


                      1. Cerberuser
                        01.08.2022 11:50
                        +1

                        В Руби, например, обрабатывается окончание множественного числа у имен переменных

                        Это где такое? Я с ходу нашёл только в Rails, но там это метапрограммирование, которое, теоретически, можно реализовать на любом языке с динамической типизацией и сильной системой рефлексии (другой вопрос - нужно ли, это да).


                      1. warhamster
                        01.08.2022 15:26

                        Да, я это и имел в виду. Я не настоящий рубист, мне простительно. Все равно выглядит как жесткий изврат.


                      1. iig
                        01.08.2022 09:23

                        Как правило, программирование - это кодирование алгоритмов. Сможете придумать алгоритм, в котором можно как-то использовать "упомянув переменные, названные разными родами, повторное упоминание в этом же предложении можно обозначать его/её, и будет ясно о чём речь"? Потому что о чём речь я не понял ;)


                      1. yurixi
                        01.08.2022 09:33

                        Я бы сказал объяснение алгоритмов. Если компьютер поймёт фразу «возведение в квадрат это умножение числа на него же», то это и будет примером. Другой вопрос — видны ли преимущества?


                      1. iig
                        01.08.2022 10:10

                        Если компьютер поймёт фразу «возведение в квадрат это умножение числа на него же», то это и будет примером.

                        Тут 2 вопроса:

                        1 - а компьютер поймёт эту фразу?

                        2 - y = x*x выглядит достаточно понятно, но значительно более лаконично.

                        3 - попробуйте описать ряд Фурье на русском языке. А в метематической нотации это одна формула, которая достаточно тривиально кодируется на любом ЯП.


                      1. yurixi
                        01.08.2022 10:25

                        В своих статьях я описывал преобразование Фурье на русском языке, и мне вполне ясно, что формула имеет преимущество в лаконичности, но описание словами всё же добавляет что-то важное для понимания.


                      1. IvanPetrof
                        01.08.2022 10:30
                        +5

                        возведение в квадрат это умножение числа на него же

                        хм… какие чудные уязвимости можно заложить в таких формулировках:
                        «сходи в магазин, купи одну булку хлеба. Если будут яйца, то купи десяток..»


                      1. michael_v89
                        01.08.2022 14:18
                        +1

                        Если компьютер поймёт фразу «возведение в квадрат это умножение числа на него же»

                        Он уже может это понять, русский язык для этого не требуется.


                        function square(number) {
                          let itself = number
                          return number * itself
                        }
                        
                        функция возведениеВКвадрат(число) {
                          значение него = число  
                          вернуть число * него;
                        }

                        Грамматический род слова на русском в этом примере не играет никакой роли. На английском отсылка к самому числу выражается аналогично.
                        A square is the result of multiplying a number by itself.


                        А вот здесь с вашим подходом уже ничего не понятно.


                        функция нашаФормула(число, коэффициент) {
                          вернуть коэффициент * число * него;
                        }

                        "Него" это коэффициент или число? В данном случае ваш подход имеет недостаток.


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


                      1. yurixi
                        01.08.2022 14:38

                        Разумеется, принцип замены языка слов и идея взятия из естественного языка его преимуществ различаются.

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

                        Но я ввязался в этот спор потому что размышляю на эту тему и вижу перспективу.


                      1. michael_v89
                        01.08.2022 17:37
                        +1

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

                        Нет, это было бы обоснованием ваших высказываний. Вы же говорите о преимуществах для программирования, а программирование подразумевает конкретные программы. То есть получается, что вы спорите, не имея обоснования своих слов.
                        А продвижением в разработке это было бы, если кто-то это разработал.


                        и вижу перспективу

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


                        и вижу перспективу

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


                        принцип замены языка слов и идея взятия из естественного языка его преимуществ различаются

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


                      1. yurixi
                        01.08.2022 18:32

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

                        Но потом.


                      1. michael_v89
                        01.08.2022 19:08

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

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


                        Замена слов тривиальна, не стоит обсуждения.

                        Не вам решать за других людей, что они хотят обсуждать.


                        после реализации аналога естественного русского языка

                        Вы либо не поняли, что я написал, либо намеренно проигнорировали. То, что вы называете "реализация аналога естественного русского языка", невозможно без изобретения ИИ. Без ИИ это будет просто замена одних ключевых слов на другие. А с ИИ это не будет языком программирования.


                      1. yurixi
                        01.08.2022 19:20

                        «Разработан» в моем комментарии означает
                        А в моём комментарии «разработан» значит доведён до демонстрации концепта.
                        можно привести полезные для данной дискуссии примеры
                        полезные примеры потому полезные что работают, в какой-то степени уже представляют собой концепт.
                        Не вам решать за других людей, что они хотят обсуждать.
                        То есть, надо было уточнить «не стоит моего обсуждения», не слишком ли это было эгоцентрично? Я вообще имел ввиду, что не обсуждаю простую замену слов, там изобретать нечего.
                        Без ИИ это будет просто замена одних ключевых слов на другие. А с ИИ это не будет языком программирования.

                        Да, а вариант что программист разработал язык программирования, и он похож на естественный, но без неопределённостей, для разъяснения которых нужен «ИИ», вы исключаете?


                      1. michael_v89
                        01.08.2022 19:44
                        +1

                        А в моём комментарии «разработан» значит доведён до демонстрации концепта.

                        Демонстрация концепта "в компиляторах надо использовать преимущества естественного языка" это и есть разработка такого компилятора. Демонстрируется в данном случае его работа. Без этого никакой демонстрации нет.


                        То есть, надо было уточнить «не стоит моего обсуждения», не слишком ли это было эгоцентрично?

                        Нет, надо было сказать "Да, я признаю, что разговор был о замене слов, а я начал спорить о чем-то другом, и мои аргументы в этой теме ничего не доказывают, это моя ошибка, извините".


                        без неопределённостей, для разъяснения которых нужен «ИИ», вы исключаете?

                        ИИ нужен не для разъяснения неопределенностей программисту, а для понимания входного текста на естественном языке.


                        Человек может пользоваться естественным языком потому что у него есть способность анализировать входные данные, которые поступают постоянно. У компьютера такой способности нет. Ее реализация на уровне, аналогичном человеку, это и есть ИИ. Другие варианты требуют предварительной формализации, закладывание формальной модели в компилятор, и обозначение элементов модели ключевыми словами.


                        Да, а вариант что программист разработал язык программирования, и он похож на естественный

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


                      1. yurixi
                        01.08.2022 19:53

                        это моя ошибка, извините
                        Вряд ли после моих слов о том что я бы не обсуждал замену вам стоит говорить чтобы я извинился что начал её обсуждать. Для уточнения: где конкретно указывается, что речь в этой ветке о замене, вдруг я упустил?
                        а для понимания входного текста на естественном языке.
                        Так. У нас тут целых четыре варианта образовалось. Обычный ЯП, ЯП с заменой слов, ЯП по форме похожий на естественный и действительно естественный для распознания которого нужен ИИ. Не много, не запутаемся?
                        Это ничем не отличается от существующих компиляторов.
                        А, четыре многовато для вас. Ну ладно, как хотите.


                      1. Cerberuser
                        01.08.2022 21:49
                        +1

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

                        Где подтверждения того, что третья категория отличается от второй (либо четвёртой, в зависимости от того, с какой стороны подходить)?


                      1. yurixi
                        01.08.2022 19:59
                        -2

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


                      1. michael_v89
                        01.08.2022 20:10
                        +1

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

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


                        Вряд ли после моих слов о том что я бы не обсуждал замену вам стоит говорить чтобы я извинился что начал её обсуждать.

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


                        Считаю ваше признание в не слежении за содержанием диалога бессмысленным.


                        Не много, не запутаемся?

                        Выглядит как отсутствие возражения.


                      1. yurixi
                        01.08.2022 20:21

                        Вы не ответили на вопрос, что само по себе является грубостью,
                        … в теме, где другие обсуждают замену.
                        вот вы и сами не ответили на вопрос об уточнении уточнение где это такое.
                        Считаю ваше признание в не слежении за содержанием диалога бессмысленным.
                        Я бы не стал собеседнику отвечать его словами, даже если бы они подходили. Это же неуважение ни к себе ни к собеседнику. Давайте хотя бы эту ветку оставим уже? Я в ветке про логические противоположности в высказываниях сейчас пытаюсь ответить так чтобы до чего-нибудь разумного договориться.


                      1. michael_v89
                        02.08.2022 01:26
                        +2

                        вот вы и сами не ответили на вопрос об уточнении уточнение где это такое

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


                        Действительно, я хотел ответить на этот вопрос, но пропустил его в финальной версии комментария. Но хочу заметить, что если вы сами не отвечаете на вопросы, то этим понижаете уровень дискуссии до того, где это допустимо, а потому не можете относительно этого предъявлять претензии собеседнику.


                        Для уточнения: где конкретно указывается, что речь в этой ветке о замене, вдруг я упустил?

                        Поищите эти фразы на данной веб-странице. Они задают контекст всего этого обсуждения.


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


                      1. yurixi
                        02.08.2022 06:59

                        Мне жаль, что я не остановился и нафлудил с таким бескультурным неумным собеседником.


                      1. ABOMETP
                        02.08.2022 16:48
                        -1

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

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

                        Тот же эффект произойдёт и в программировании если таковой инструмент появится! Ведь кто такой профессионал в программерстве (образ усреднён) - это обученный всем премудростям согласно требований, имеющий опыт успешного применения навыков ремесленик, но тем не менее идущий как лошадь в шорах по проторённой до него другими тропе с высокой оградой, ограничивающей творчество стандартами, этакий идеальныё робот.

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

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


                      1. faultedChip
                        01.08.2022 12:28
                        +2

                        В русском языке есть разные окончание для розного рода, и поэтому упомянув переменные, названные разными родами, повторное упоминание в этом же предложении можно обозначать его/её, и будет ясно о чём речь. 

                        Я за всю жизнь не сталкивался с ситуацией, когда бы мне в программе требовалось выразить род переменной или функции.


                      1. F0iL
                        01.08.2022 12:36
                        +2

                        требовалось выразить род переменной

                        const - мужик, непоколебимо стоит на своём,

                        mutable - девушка, очень переменчивая :)


                      1. AnthonyMikh
                        02.08.2022 02:03

                        А можно, пожалуйста, без шуток, закрепляющих гендерные стереотипы?


                      1. F0iL
                        02.08.2022 08:13

                        Можно, я разрешаю :)


                    1. yurixi
                      01.08.2022 08:51
                      -3

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


                      1. iig
                        01.08.2022 11:00

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

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


                      1. LordCarCar
                        01.08.2022 11:23

                        Анекдот.

                        Лампа просьбу поняла дословно правильно! Правда почему-то результат неожиданный!


                      1. Static_electro
                        01.08.2022 11:25

                        а вы программируете?


                      1. yurixi
                        01.08.2022 12:15

                        Не только программирую, но и придумываю новый язык, вы находите здесь противоречие?


                      1. Static_electro
                        01.08.2022 12:34
                        +3

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


                      1. yurixi
                        01.08.2022 12:48

                        Разработчик. Планируется статья, когда будут результаты.


                      1. Affdey
                        01.08.2022 14:10

                        О! программирование как общение - прям мечты из журнала "Человек и Машина" за 1980й. А создание такой среды разработки на чём? на обычных ЯП, и это колоссальный труд, и его смысл пока не виден.


      1. Constanine
        01.08.2022 07:50
        +9

        Всегда предполагал что программист мыслит абстракциями. А потом уже идет реализация через ЯП.


        1. yurixi
          01.08.2022 07:58
          -10

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


          1. Constanine
            01.08.2022 08:57
            +6

            Так процедура, функция и есть абстрактный шаблон. Передали аргументы, получили результат.
            Мы не работаем с физическими объектами в большинстве случаев.


            1. yurixi
              01.08.2022 09:03

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


              1. Paskin
                01.08.2022 09:44
                +1

                Шаблоны в С++ и функции базовых классов в ООП - и есть "абстрагирование". Да и сами классы - суть абстракция реальных сущностей, а методы - абстракция взаимодействий.


                1. yurixi
                  01.08.2022 09:48

                  «Создание шаблона» — это не абстракция, а вот «шаблон создания шаблона» — абстракция.


                  1. Paskin
                    01.08.2022 11:08

                    Шаблон создания шаблона - это схоластика.

                    В языках вроде SmallTalk или ObjectiveC, например - вообще нет "методов" - а есть взаимодействия между обьектами. Включая возможность реакции на не известные на момент написания или имеющие другой набор параметров..


                    1. yurixi
                      01.08.2022 11:30

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


                      1. Paskin
                        01.08.2022 11:59

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


                      1. yurixi
                        01.08.2022 12:16
                        -2

                        Ха, нейронные сети кто-то умеет или даже хотя бы стремится проверять?


                      1. Paskin
                        01.08.2022 13:19

                        Что вы вкладываете в понятие "проверять"? Как и любая другая аппроксимация неизвестной функции - нейронные сети проверяются статистически. Доказать, что где-то не пропустили локальный экстремум - невозможно, как и критерии "аппроксимируемости" в этой самой точке.


                      1. yurixi
                        01.08.2022 13:37
                        +1

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


                      1. Paskin
                        01.08.2022 16:46

                        Это так не работает. Вы "спросили" сеть - она вам дала ответ с определенной уверенностью. Множите эту уверенность на статистическую точность сети - получаете вероятность правильного ответа. Дальше - зависит от критичности применения, можно иметь несколько сетей разных архитектур и совмещать их результаты, можно поставить дополнительные датчики, можно просто смириться.
                        Если возможна ретроспектива - то большинство сетей умеют "дообучаться" на своих ошибках.


                      1. yurixi
                        01.08.2022 17:29

                        Думаю, в этой концепции нет ответственности, поиска возможных ошибок. Или этому не придаётся должного внимания.


                      1. Paskin
                        01.08.2022 18:07

                        Этому придается внимание - но "поиск возможных ошибок" невозможно завершить за разумное время и деньги.
                        Кстати, вы для своих "обычных" программ используете статический анализ кода? Думаю что нет, хотя стоят такие анализаторы недорого (а то и вообще бесплатны) - и наверняка найдут у вас кучу ошибок.


                      1. yurixi
                        01.08.2022 18:46

                        Так. Аргумент что кому-то не хватает времени и денег понятен. А вот указание, что у меня найдётся много ошибок — по моей классификации необоснованное принижение достоинства. Вот прям наверняка, без вариантов? И прям кучу? Не три, не десять, а кучу?

                        Нормально же общались.

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

                        И вам обязательно вот так под конец дня хамить?

                        Что-то как-то перебор.


                      1. Paskin
                        01.08.2022 19:13

                        Зря вы обижаетесь - это обьективная реальность. Если не использовать статический анализ - то в "безопасных" языках будет 1-2 ошибки на страницу, а в C/C++ - еще больше. Такова сложность современных ЯП.

                        А времени и денег не хватает всем - бюджет не безграничный и рынок тоже не будет ждать вечно


                      1. yurixi
                        01.08.2022 19:23

                        Вы проецируете своё отношение к ошибкам в программе на меня. У меня другое отношение к ошибкам. Не общепринятое, можно сказать.


                      1. Cerberuser
                        01.08.2022 21:51

                        Писать на Idris и доказывать всё необходимое c проверкой на тотальность?


                      1. yurixi
                        01.08.2022 22:38

                        Как вы считаете, все понимают то что они сами говорят, или есть исключения?

                        Программирование с доказательствами это хорошо, но что если будут такие места, где наоборот, именно доказательства ожидать и не стоит?

                        В этой теме копать и копать.


                      1. Cerberuser
                        02.08.2022 05:56

                        все понимают то что они сами говорят, или есть исключения?

                        Никто не понимает - это фундаментальное ограничение естественного языка.

                        что если будут такие места, где наоборот, именно доказательства ожидать и не стоит?

                        При работе с автоматическими системами (т.е. с такими, которые руководствуются только сказанным явно в коде программы либо в спецификации языка) такое место ровно одно: обработка аппаратных сбоев, вроде некорректно прочитанного из памяти бита. Во всех остальных примерах доказательство корректности кода возможно (пусть и редко когда стоит того) и является единственным способом не допускать ошибок при разработке.


              1. gluk47
                01.08.2022 09:58

                Так и делается.
                Шаблонные классы с шаблонизированными шаблонными параметрами и переменным количеством простых типов-параметров, вот, например.

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


                1. yurixi
                  01.08.2022 10:15

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


                  1. gluk47
                    01.08.2022 10:24

                    Ну тут либо неоднозначность и трудноуловимые ошибки — такое сейчас готовы предоставить нейросетевые классификаторы.
                    Либо долгое объяснение, какие функции что делают, то есть написание библиотеки алгоритмов, откуда можно создавать объекты и функции, подставляя им конкретные типы данных и шаблонные стратегии (типичный пример стратегии в C++ — аллокатор при создании контейнеров).

                    Объяснять выше, собирая конференц-колл и проводя двухгодичные курсы алгоритмов и структур данных для компьютера, мало толку: на выходе получится та же стандартная библиотека, только с ошибками — во всяком случае, люди, начав код писать после такого курса, довольно быстро узнаю́т слова off-by-one и segfault.
                    Объяснить сложные вещи как-то ещё более по-другому — непонятно как, и от выбора языка это не сильно зависит, хотя конечно, в языке должны быть необходимые слова и абстракции.


                    1. yurixi
                      01.08.2022 10:30

                      Всё сходится к такому хорошему абстрагированию, которое переходит в понимание. Но и там проверку правильно ли друг друга участники понимают, не стоит отменять.


                  1. Cerberuser
                    01.08.2022 10:24
                    +1

                    Я бы не хотел работать с такой системой, скажем прямо. По одной простой причине: когда (не "если") она сделает не то, что надо, мы не сможем разобраться, почему.


                    1. yurixi
                      01.08.2022 10:27

                      Ну для того чтобы такого не было надо быть на одной волне)

                      И проверить, правильно ли тебя поняли помогает и в обычном кодировании.


                      1. Cerberuser
                        01.08.2022 10:30

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


                      1. yurixi
                        01.08.2022 10:42

                        А что если повторить два раза?) Разными словами, и одна интерпретация будет проверять другую.


                      1. Cerberuser
                        01.08.2022 11:52

                        "Quis custodiet ipsos custodes?" Где гарантия, что проверка интерпретациями друг друга будет иметь хоть какую-то достоверность - опять-таки, в условиях не-формализуемого языка?


                      1. yurixi
                        01.08.2022 12:10

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

                        То есть, какая-то принципиальная основа действительна должна быть.


                      1. Cerberuser
                        01.08.2022 12:24

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


                      1. yurixi
                        01.08.2022 13:00

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


                      1. Cerberuser
                        01.08.2022 13:19
                        +1

                        Если автоматизированная система может запросить уточнения каким-либо образом, кроме "я ничего не понял", и эти уточнения будут гарантированно релевантными (а не догадками) - значит, язык формализован, значит, он не похож на естественный.


                      1. LordCarCar
                        01.08.2022 11:31

                        А как проверить правильно ли тебя поняли?


                      1. yurixi
                        01.08.2022 11:52

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


                      1. LordCarCar
                        01.08.2022 12:13

                        При использовании формального языка или формул это просто.

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


                      1. yurixi
                        01.08.2022 12:18

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


                      1. iig
                        01.08.2022 12:28

                        Человеку не ставят задач на python.

                        Компьютеру не обьясняют, ни на английском языке, ни на латыни.


                      1. yurixi
                        01.08.2022 13:05

                        Если вы считаете, что «указание что делать» это не «объяснение, что делать», то могу с вами согласиться, различия есть. Возможно, лучше бы их не было.


        1. mikhail-edoshin
          01.08.2022 09:54
          +3

          А вы попробуйте реально абстрагироваться. Возьмите любую проблему по работе и замените в ней все важные сущности случайно выбранными словами. Допустим, у вас есть группы пользователей с разными правами доступа к объектам. Назовите группы "яблоками", пользователей "сапогами", права доступа "кляксами", а объекты "яичницами". Итак, "сапог может входить в разные яблоки, которые имеют разные кляксы к яичницам...". Все существенные отношения между сущностями тут сохраняются, но сомневаюсь, что у вас получится рассуждать таким образом. И даже если взять нейтральные имена А, Б, В и Г, вряд ли это что-то изменит.

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


          1. Constanine
            01.08.2022 10:25

            Вы не поверите, но я с таким сталкиваюсь так как поддерживаю несколько систем на 1с, одна из которых довольно древняя.
            Так там хватает и программирования на русском и случайных слов не связанных с предметной областью (переменные ГВ, ХВ, СЗ_, ДН_ и.т.п.). При работе с ними как раз помогает абстрагирование.

            При этом я ещё и умудряюсь получать удовольствие, так как воспринимаю работу с таким кодом как логическую головоломку(хотя может это проф. деформация...)


          1. Paskin
            01.08.2022 11:15

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


            1. mikhail-edoshin
              01.08.2022 12:09

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


      1. misato
        01.08.2022 10:51
        +5

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

        Чтобы программировать на PHP не обязательно знать, как переводятся слова while, switch, yield, надо просто знать, как они работают.

        И кстати, попытки довести синтаксис ЯП до человеко-понятного текста на английском или русском вообще не доводят до добра. Код - это не речь, это отдельный "язык".


      1. faultedChip
        01.08.2022 12:24

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

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


        1. yurixi
          01.08.2022 13:07

          Уже TDD и дебаг можно воспринимать как ответные шаги в общении с компьютером.


      1. Janycz
        01.08.2022 12:52
        +4

        для программирования нужно переключаться в другой режим

        Вот не согласен, ибо по крайней мере у меня как-то не так происходит. Например, когда думаю, надо написать какое-то условие, проговариваю в уме "если", но пишу "if". Аналогично при чтении кода: вижу "if" -- читаю "если".

        «активное непонимание необходимости русского языка программирования» — это торможение развития компьютерных технологий

        Я вот вообще не понимаю подобных тем "какой-то там естественный язык (русский, английский) в программировании". Так, например, я не воспринимаю при чтении кода ключевые слова языка программирования как слова какого-то там естественного языка. Т.е. я не ассоциирую ключевое слово "while" языка программирования С++ с каким-нибудь английским словом "пока", для меня это просто слово "while" со значением цикла, а то что оно совпадает с английским словом -- так это уже другой вопрос. И в естественных языках тоже бывают совпадения слов. Поэтому, на мой взгляд, такие высказывания как

        «активное непонимание необходимости русского языка программирования» — это торможение развития компьютерных технологий

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

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

        Вот для меня С++ (или другой язык программирования) и выглядит как иностранный язык, отличный от английского или какого-то другого естественного языка.


        1. yurixi
          01.08.2022 13:12
          -1

          когда думаю, надо написать какое-то условие, проговариваю в уме «если», но пишу «if».
          О том и речь, без переключения бы так и писали «если».
          не имеют под собой основания.
          Дело в том, что такое уже упомянутое явление как «русскийязыкнинужын» существует, и в комментариях много примеров. Моё высказывание направлено против него. Если вы и явления не ощущаете, то и обсуждать нечего.


          1. Janycz
            01.08.2022 13:40
            +1

            О том и речь, без переключения бы так и писали «если».

            Но это утверждение работает и в другую сторону. Т. е. какой-нибудь немец может заявить вот если бы вместо "if" писали "wenn"... Да, и что твориться у китайцев страшно себе представить, говорят "rén", а пишут "人". Также скажу, что мы говорим "малако" (более точно, "мълᴧко" -- но мы этого не чувствуем), но пишем "молоко". А вот если бы сразу писали "малако"...

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

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

            Также с другой стороны, какой естественный язык выбирать качестве такого наперед заданного языка для создания языка программирования? Выберем, условно, немецкий -- что тогда скажут французы? Выберем французский -- что тогда скажут русские? Поэтому тут тоже такая проблема у данного подхода, что всем не угодишь, и приходиться выбирать компромисное решение, ведь язык обычно создается для международной разработки, для всех, а не для разработчиков-носителей определенного языка.

            Дело в том, что такое уже упомянутое явление как «русскийязыкнинужын» существует

            На данный момент не вижу в этом смысла, ибо важнее чтобы один язык программирования был похож на некоторый другой язык програмирования (на смесь некоторых языков программирования). Или так можно сказать: чтобы языки програмирования были похожи в некоторой степени.


            1. Jian
              01.08.2022 13:46
              +1

              у китайцев страшно себе представить, говорят "rén" ", а пишут "人".

              Что звучит как "жэн", а по Палладию пишется "жэнь" (у Палладия "ng" пишется как "н").


            1. yurixi
              01.08.2022 15:16
              -1

              В даёте себе отчёт, что на моё утверждение «при программировании нужно переключаться» вы возражаете по типу «при программировании нужно переключаться»? Предполагаю, что это идёт в смысле «не жалуйся» в ответ на жалобу. Но я-то это писал не в каком-то негативном смысле, а как факт. И тут же выделил преимущества. Русский язык для вас не родной, или в чтение не всегда?

              Все кто утверждает «давайте русского языка программирования не будет» говорит «давайте не развивать ИТ в этом направлении». «Давайте не развивать», ага — явно не позитивное предложение.

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


              1. Janycz
                01.08.2022 15:43

                В даёте себе отчёт, что на моё утверждение «при программировании нужно переключаться» вы возражаете по типу «при программировании нужно переключаться»

                Лично я не переключаюсь, по крайней мере, "базовый" C++ для меня это как родной язык.

                Русский язык для вас не родной, или в чтение не всегда?

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

                Ну да, а то что это не как все.

                Условно, зная С++, человек может легко освоить Java или C# (или вернее сказать, ему будет легче освоить) в силу похожей "лексики" и грамматики языков. Но вот язык с абсолютно другими непохожими ключевыми словами будет освоить ему гораздо сложнее (Я напомню, что слова языка программирования я не воспринимаю как слова естественного языка). Тогда зачем следует тратить время на создание языка, который текущим разработчикам будет сложнее освоить. Конечно, язык программирования это, вообще говоря, теоретическая вещь. Для использования его на практике (в промышленности) нужны дополнительные вещи, например, компилятор. Если же язык для учебных целей -- то зачем, если у него нет применения в промышленности, а это значит, что с него надо будет переучиваться потом на язык программирования с другой "лексикой", что будет сложнее, чем изучение первым языка, более приближенного или совпадающего с языком, используемым в промышленности.

                Более того, в промышленности уже существующие языки программирования хорошо заняли свои нишы. Даже если взять язык программирования, и заменить в нем ключевые слова, то что это даст? Кто будет это использовать? Не говоря уже про проекты, развиваемые силами участников из разных стран.


                1. yurixi
                  01.08.2022 15:47

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


                  1. iig
                    01.08.2022 16:00
                    +1

                    А зачем тратить? Уже всё потрачено. С помощью небольшого заголовочного файла неправославный С превращается в православный , даже с ятями. Здорово, правда?


              1. Cerberuser
                01.08.2022 15:57

                на моё утверждение «при программировании нужно переключаться» вы возражаете по типу «при программировании нужно переключаться»?

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


                1. yurixi
                  01.08.2022 16:10

                  Ваше утверждение: «при программировании нужно переключаться, если язык программирования не основан на естественном языке, знакомом программисту
                  Вот прямо что я говорил:
                  Дело в том, что русский человек думает на русском, и для программирования нужно переключаться в другой режим.
                  Почувствуйте разницу. В том что Англичанину не надо переключаться я не говорил. Что, все минусы — от этих домыслов, да?


                  1. Cerberuser
                    01.08.2022 16:56

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


                    1. yurixi
                      01.08.2022 17:11

                      Или надо будет, но на такой который на ближе к родному.


      1. k102
        01.08.2022 15:45
        +1

        для программирования нужно переключаться в другой режим

        В режим программирования? Любая деятельность подразумевает некий набор "слов" - на естественном языке или на ЯП. При этом на естественном есть огромное количество специфичных слов - вон у любителей парусного спорта спросите. Даже когда я еду на велике по всякой пересеченке, я внутри себя думаю специфичными "словами", не все их них русские (а те что да - часто матерные). Также и с программированием - тут есть некоторые "слова", которыми нужно пользоваться. Кому какое дело на какой естественный язык они похожи? Они им не являются.


        1. yurixi
          01.08.2022 15:51

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


          1. k102
            01.08.2022 16:11
            +1

            Опять же - понятной кому? Программисту и так понятно, на то он и программист. А не программистам оно нафиг не нужно, на то они и не программисты.

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

            Ну... да? Я это и говорю - слова это только форма, какая разница какие они там. А вот зачем тратить усилия на создание и, что важнее, поддержку языка с другими словами, мне непонятно.


    1. Maccimo
      01.08.2022 07:38
      -5

      Но никто никогда не пишет – зачем? Для чего создаются подобные шедевры, что движет их авторами? Какие перспективы они видят для своих творений?

      Ну, во-первых это интересно. Во-вторых обычному человеку удобнее общаться на родном языке, а не на английском суржике, приправленном щепоткой знаков препинания. Плюс комплимент от шеф-повара в виде брызжущих слюной в комментариях на тему «русскийязыкнинужын!»


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


      1. dopusteam
        01.08.2022 07:51
        +10

        обычному человеку удобнее общаться на родном языке

        Это не будет русским языком, так же как сейчас язык программирования не является английским языком


        1. Maccimo
          01.08.2022 23:43
          -2

          Допустим, у нас есть два ЯП. Язык Q с ключевыми словами на английском языке и язык Ы с ключевыми словами на на русском языке. Совершенно очевидно, что язык Ы является более русским, чем язык Q.


          Q.E.D.


          В обозримом будущем неизбежно будет сделан шаг в сторону более похожих на живую речь ЯП. Потому что людям так удобнее.


          1. Cerberuser
            02.08.2022 05:59

            В обозримом будущем неизбежно будет сделан шаг в сторону более похожих на живую речь ЯП. Потому что людям так удобнее.

            Если не ошибаюсь, примерно так в 90-х начинался всем известный язык Ruby. С ним работать действительно удобнее? Я просто не могу судить, я на нём постоянно NameError получаю, закодить что-то крупное не получается, но я, наверное, просто английским не владею?


          1. dopusteam
            02.08.2022 09:03
            +1

            В обозримом будущем неизбежно будет сделан шаг в сторону более похожих на живую речь ЯП. Потому что людям так удобнее

            Живая речь содержит слишком много неоднозначности и недосказанности, так что вряд ли.

            Ну и в целом, звучит слишком категорично и без пруфов


          1. Rsa97
            02.08.2022 10:23
            +4

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


    1. mikhail-edoshin
      01.08.2022 07:40

      Нотация -- инструмент мышления и влияет на то, до чего человек может додуматься. Рассуждая на одном языке человек будет думать иначе, чем на другом, особенно на неродном.


    1. TheMrWhite
      01.08.2022 08:13
      +6

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


      1. Didimus
        01.08.2022 11:30

        Для тех из них, кто понимает русский, очень весело звучит название 1С


        1. yurixi
          01.08.2022 11:32
          +1

          Ага. «три Ж»: Жёлтая, Жадная, Одина.


    1. mikhanoid
      01.08.2022 09:31
      +1

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


    1. zuek
      01.08.2022 10:26
      +1

      ...я как-то just for fun, одну из обработок в 1С переписал на "английский" (да, 1С - двуязычный):

      Штатных программистов 1С ставило в тупик


      1. maledog
        01.08.2022 17:10

        Мне, например, так даже понятнее. И "читается" быстрее. Когда читаю что-то из 1с приходится переводить с русского на английский, чтобы понять что делает код. Для меня эта операция сложнее, чем с английского на русский.
        И в приведенном примере я не вижу какого-то "особого русского мышления". Получается что код на 1с был написан ровно так же, как мог быть написан "англичанином", только кириллицей.


        1. Ta_Da
          01.08.2022 18:03

          Это не более чем вопрос привычки. Т.е. мне, допустим, комфортно читать код на английском, если это не 1С (мысленно на русский при этом не перевожу), а вот читать код 1С на английском - "ломает" (этакий своеобразный "эффект зловещей долины" только для программирования - мозг понимает, что это 1С, но какой-то неправильный =)).


      1. dopusteam
        02.08.2022 09:05

        Quer, TTab, ArrRep, Lin,

        For each Str in TTab

        For each Str2

        Вы не только программистов 1с в тупик ставите таким кодом)


        1. zuek
          02.08.2022 10:48

          Quer - чтобы не пересекаться с зарезервированным словом, TTab - да, это не "тип таб", а всего лишь "временная таблица", а то, что "str" в 1С не зарезервирован - ну, такова селявя???? и вообще, меня программированию учили в те лохматые времена, когда счётчиком цикла были переменные "i,j,k", строковыми переменными были "a,b,c...", а числовыми "n,m,x,...", так что приведённый выше код можно считать абсолютно читабельным... и да, "серьёзно" не писал года с 1994-го - так, костыли и подпорки всякие иногда колхозю, да, на проде, да, иногда и не в "микробизнесах", но когда надо, чтобы "работало со вчерашнего дня", иногда приходится...


          1. dopusteam
            03.08.2022 08:16

            Выбирать название quer, чтоб не пересекаться - не самая лучшая идея.
            TTab можно назвать TempTab хотя бы. Вместо Str и Str2 можно написать, что это за str вообще, иначе Lin.Add(Str(Str2.Title)) и не читаемо и подвержено ошибкам при изменении.

            но когда надо, чтобы "работало со вчерашнего дня", иногда приходится

            Придумать имена переменным не займёт несколько дней. Хотя бы имена, отражающие суть, а не просто str и str2


            1. zuek
              03.08.2022 13:41

              Вместо Str и Str2 можно написать, что это за str вообще, иначе Lin.Add(Str(Str2.Title)) и не читаемо и подвержено ошибкам при изменении.

              Там весь цимес этой обработке в том, что на вход она получает название запроса, и по сути, она не знает ни размеров возвращаемой запросом таблицы значений, ни что это за значения (вся интерпретация данных - от ожидаемого количества столбцов до сопоставления типов данных и форматирования - на запросившей стороне), хотя по прошествии лет могу согласиться - вместо Str2 красивее было бы Cell (значение ячейки обрабатываемой строки), а вместо Lin - LineRep (строка отчёта) или LineRet (возвращаемая строка). И вообще, именно эта обработка - нерабочая - я пытаюсь перебирать строки не в таблице Cols, а в возвращённом результате запроса TTab, не являющемся, в общем случае, таблицей ))) Да, "боевой" обработки от того древнего проекта под рукой не оказалось (он остался в боевой конфигурации предприятия) - попался первичный набросок, сделанный на домашнем компе в пустой конфигурации.


  1. pingo
    01.08.2022 07:44
    +25

    просто просится сюда этот старый мем


    1. TsarS
      01.08.2022 09:08
      +12

      Может и не старый. Может кто-то из будущего прислал


    1. Affdey
      01.08.2022 14:31
      +4

      Одни преимущества: узнаваемый внешний вид программистов, работа в обособленных тихих кабинетах, заутренние митапы, хоровая релакс-музыка, дебаггинг с покаянием


      1. iig
        01.08.2022 14:44
        +2

        дебаггинг code review


  1. thenonsense
    01.08.2022 07:47
    +26

    Языки программирования и языки говорения/общения - вещи совершенно разные. Подавляющее большинство языков программирования "английские", но это не английский, а просто в написании команд используется латиница и какие-то ключевые слова на ней. Потому как изначально всё делалось под латиницу и удобно в принципе - английские слова короче, префиксы/суффиксы - редкость, алфавит небольшой, язык сам по себе более абстрактен, а всякие языковые сложности (вроде системы времён) в коде как раз не используются.

    Конкретно для нас то, что языки программирования, как правило, английские - это благо. Так как граница очень чётко проведена - в чате пиши себе на русском, а когда программируешь, то там уже не чат, там своя рабочая среда с английскими командами. Очень легко абстрагироваться, чтобы писать алгоритмы и логику. А русский оставьте для рассказов, статей, романов, где это действительно нужно.

    Да, если бы речь шла о том, чтобы что-то программировать на каких-то очень высоких уровнях абстракции и в специфических сферах, то там, возможно, имело бы смысл использовать русский язык, чтобы получать какой-то профит от его персональных особенностей. А просто так, ради православного рескина GO TO на ВЫЙДИ ВОН - бессмысленно, даже (особенно) для детей.


  1. copyhold
    01.08.2022 08:22

    Пролог и Форт позволяют писать на любом языке если не ошибаюсь.


  1. F0iL
    01.08.2022 08:28
    +8

    Русификация служебных/ключевых слов C++

    Напомнило найденный в одном очень старом корпоративном проекте код на "французском Си":

    ...и оно так было сделано на полном серьёзе и работало почти три десятка лет...


    1. 8street
      01.08.2022 08:54
      +9

      Удивлен, что еще никто не упомянул этот древний баян на C++

      Баян (осторожно мат)
      #define говно NULL
      #define нихуя void
      #define факт bool
      #define хуёво false
      #define пиздато true
      #define цифра int
      #define число float
      #define базар char
      #define ТамГде *
      #define типа {
      #define ёба }
      #define это =
      #define сука ==
      #define и &&
      #define или ||
      #define чатко const
      #define базарь cout<<
      #define спроси cin>>
      #define блять ;
      #define то )
      #define иначе else
      
      #include <iostream>
      using namespace std;
      
      нихуя main()
      типа
      	факт Semki блять
      		базарь "Семки есть,, ёба? /n" блять
      		спроси Semki блять
      			если Semki сука пиздато то
      			типа
      				базарь "Красава" блять
      			ёба
      			иначе
      			типа
      				базарь "Нарываешься, сука? /n" блять
      			ёба
      ёба



  1. IvanSTV
    01.08.2022 08:59
    +2

    Есть конспирологическая версия. Язык Кумир создан по заказу Госдепа США для того. чтобы окончательно похоронить попытки создать кириллический ЯП с именами команд на основе русского языка. А рептилоиды в министерстве образования вредительски внедрили его во все школы страны. :)

    Почему?

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

    • Документация к нему и учебные материалы (для коих он, собственно, и создавался), написаны ужасно и непонятны ни детям, ни взрослым.

    • массовое внедрение в разноуровневые школы привело к тому, что на нем писались только самые простые и примитивные вещи. Даже Интернет не знает ничего сверх ГДЗ,

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

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

    Вместо развития идеи кириллических языков с русскоязычной лексикой, Кумир вложил в головы школьников отвращение к самой идее кириллических языков и хорошо. если не отвращение к идее программирования.

    Я лично в свое время прошел в 1993-94 когнитивный диссонанс от того, что учебники были на некоем кириллическом языке, и задачи были на нем же, а реально у нас был нормальный бейсик, к которому не было никаких пособий, кроме страшно дефицитной методички для поступающих в ГАУ. И даже если бы удалось разыскать и чудом прошить этим кириллическим языком БК-шки, то все равно для дальнейшего развития надо было бы осваивать другие языки.

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


  1. misato
    01.08.2022 09:44
    +4

    Язык ключевых слов и команд в ЯП не имеет никакого значения.


    1. miga
      01.08.2022 11:40
      +4

      ... если этот язык - английский


      1. Stanislavvv
        01.08.2022 14:49

        На самом деле - пофиг. Внутреннее представление команд, скажем, интерпретатора BASIC и их внешнее отображение не слишком-то связаны.
        В 90-х видел русифицированный клон спектрума, на котором вполне себе загружались и работали программки, написанные на нерусифицированном.


        1. iig
          01.08.2022 15:33
          +2

          В спектрумовском basic ключевые слова сохранялись как готовые токены. Нельзя LIST набрать из 4 символов, можно только ввести готовый токен 1 нажатием. А отображение токенов бралось из ПЗУ, были бы тогда в хожу эмоджи - можно хоть иконки нарисовать.


  1. elFurion
    01.08.2022 10:24
    +3

    Очень зря пропустили OneScript. Его создавали люди практикующие программирование на 1C, С#. Так что получился самый адекватный язык из всех перечисленных на мой взгляд.


  1. napa3um
    01.08.2022 10:34
    +10

    Надо воспринимать английский язык в ключевых словах языка программирования не английским языком, а латынью, математическими обозначениями, и тогда переводить на русский язык не надо будет. Мне кажется, перевод на русский язык наоборот ухудшит понимание программного кода, ибо будет смешивать в голове программиста бытовую семантику с компьютерной. А вот имена переменных/функций для обозначения сущностей прикладной области на русском языке норм (и компактные DSL-язык для композиции бизнес-логики, возможно, тоже можно для конфигураторов/менеджеров делать на русском).


    1. DGG
      01.08.2022 18:03

      "не английским языком, а латынью, математическими обозначениями" - Мне кажется вы заново изобрели APL


      1. napa3um
        02.08.2022 20:35

        «Математических» языков сейчас как грибов после дождя, а «нематематические» обрастают «математическими» аспектами (прежде всего аспектами ФП) и фреймворками, выражающими прикладную «математику» с помощью этих аспектов. Думаю, основным экономическим фактором тут является развитие машинного обучения и всей этой темы, которая тянет за собой потребность в простом выражении сложных параллельно-массовых вычислений.


  1. foxyrus
    01.08.2022 10:35
    +5

    Судя по результатам голосований (на compiler.su и даже здесь на Хабре) идею программирования на русском поддерживает не так уж и мало людей.


  1. nmrulin
    01.08.2022 10:38
    +3

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

    Ну-ка(двое из ларца)

    Замесить

    Нарубить

    К сожалению интерпретатор был глючный, поэтому после получение команды "замесить" месились дрова, а команда "нарубить" рубила тесто :-)


    1. iig
      01.08.2022 11:04
      +2

      В интерпретаторе было всё плохо с многопоточностью. Синхронизации не предусмотрено, race condition во весь рост.


  1. arTk_ev
    01.08.2022 10:40

    В принципе без разнице на каком языке будут комманды, программировал на 1с. Но даже там перешел на латиницу.

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

    У некоторых ide до сих пор проблемы с кодировкой и поиском.

    В английском существенно короче слова. Правописание и времена противопоказаны в программирование, а краткость, читаемость и емкость - самое важное.

    А есть программирование с китайским синтаксисом? Интересно как оно выглядит.


    1. Rsa97
      01.08.2022 11:30
      +1

      Wenyan-lang
      吾有一數。曰三。名之曰「甲」。
      為是「甲」遍。
      吾有一言。曰「「問天地好在。」」。書之。
      云云。


      1. dvoeglazyi
        02.08.2022 18:04

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

        Вообще, причина возникновения этих вопросов про национальные языки в программировании - скорее всего то, что английский в этой сфере на самом деле вовсе не идеален (как и сам по себе, кстати - пишется одно, читается по-другому - это фундаментальный косяк, который и у нас тоже есть). Пусть ему нет лучшей замены, но самые прочные в мире ЯП как раз-таки всякие скобочки, кавычки, плюсики и прочие знаки (хоть и некоторые не C-подобные языки всё-ещё пытаются над ними извращаться).


  1. Akon32
    01.08.2022 10:46
    +1

    Поздно.

    Русский язык программирования мог бы быть полезен лет 30-50 назад, когда всё начиналось. Сейчас уже всё завязано на английский язык, даже корпоративный сленг содержит (по ощущениям) несколько процентов английских слов типа NDA, KPI, SLA - чужие буквы и слова вообще никто не стесняется использовать, и не только в офисе. Вычистить английские фрагменты из языка общения уже сложно и не имеет смысла.

    Сегодня единственный успешный ЯП, основанный на русском - 1С. Остальные слишком эзотеричны для реального применения. Да и, как показывает быстрое изучение вопроса, 1С не содержит ни ООП, ни статической типизации, так что он не очень хорош как ЯП общего назначения. От языка ключевых слов точно ничего не зависит. Любой программист способен выучить ~25 идентификаторов языка, и их семантику всё равно надо учить.


  1. mikhanoid
    01.08.2022 10:47
    +2

    А в научной нотации тоже от латиницы откажемся? Не ощущается это хорошей идеей.

    Английский упрощался и переформатировался под международным давлением. Мы же не на языке Шекспира пишем, а используем некий наиболее общий pidgin - примитивный язык: "я ехать в 3 час сегодня сверху трамвай". Да, он сформирован на основе английского, потому что Британия была великой морской торговой империей. Но, может, она и была великой морской торговой империей, потому что всем легко было освоить базовые структуры языка?..

    Смогут ли господа/товарищи патриоты вменить русский всем потенциальным своим партнёрам, чтобы расширять свою it-индустрию на них? И не боятся ли они, что великий и могучий таким образом превратится в "твоя моя понимай"? Ведь, необходимо будет резко упростить систему сопряжений и склонений. Иначе прямо сейчас легко разглядеть многокилометровые флеймы о допустимых падежах и формах глаголов в именованиях функций, классов, процедур и т.д. И, ведь, это будет настоящая производственная необходимость, а не просто ВерблюдСтиль против _подчёркивание (споры о которых носят характер религиозных войн). Программистам, всё равно, придётся жить с двумя языками: русским и pidgin-русским. И второй будет проникать в сферу обращения первого.

    Оно нам точно надо?

    Если так уж не хочется английского, то может быть, лучше взять или разработать простой искусственный язык такой, как toki pona?


  1. Balticman
    01.08.2022 10:50
    +2

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


  1. Fr0sT-Brutal
    01.08.2022 11:18
    +6

    Ересь, по мне. Если человек дорос до программинга, то выучить десяток слов на английском он уже должен суметь (у нас с 1 класса был, а сейчас некоторые уже в детсадах начинают спикать). Раскладку постоянно дергать, потому как не можешь ввести [], <> или ' - тоже изврат. Ну а имена переменных успешно решаются за счет транслита, и неизменные Zena (вовсе не воительница из сериала) и Rashod (вовсе не некий араб) вымрут, наверно, только вместе с русским языком.


    1. Affdey
      01.08.2022 14:39
      +1

      Zena это что?


      1. Jian
        01.08.2022 14:43
        +1

        Zena = Tsena = Cena для учивших итальянский (проверочное слово pizza).


  1. Grey6000
    01.08.2022 11:20

    Как-то все упускают один момент из виду, бизнес-логику есть смысл описывать в русских терминах, чтобы туда-сюда это все не переводить, особенно если следовать DDD


  1. Didimus
    01.08.2022 11:39
    +4

    Как пример, врачи во всем мире используют латынь. И всех это устраивает


    1. iig
      01.08.2022 11:52

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


      1. Didimus
        01.08.2022 12:03
        +2

        Там была бы трёхзначная логика: лечите, не лечите, попейте витаминки


    1. Paskin
      01.08.2022 12:03
      +2

      Врачи во всем мире используют английский и цифровые обозначения по стандарту (название не помню).


      1. Didimus
        01.08.2022 12:10

        Хотите сказать, что латынь используют врачи только в России?


        1. Paskin
          01.08.2022 13:09

          "Я вам не скажу за всю Одессу" - но похоже что только в СНГ.


  1. tormozedison
    01.08.2022 11:49

    Давно хочу взять любой интерпретатор Бейсика (как известно, это Beginner’s All-purpose Symbolic Instruction Code) с открытыми исходниками, чтобы переделать в интерпретатор языка ОСНОВА (Обучающая Система для Начинающих Операторов Вычислительной Аппаратуры) со следующими соответствиями:

    PRINT СКАЖИ
    INPUT СПРОСИ
    FOR ДЛЯ
    TO ДО
    STEP ШАГ
    END ГОТОВО
    STOP ПРЕКРАТИ
    GOTO ПЕРЕЙДИ
    GOSUB ОТВЛЕКИСЬ
    RETURN ВЕРНИСЬ
    DELAY/PAUSE ПОДОЖДИ
    BEEP ПОСИГНАЛЬ
    PLAY СЫГРАЙ
    LOAD ЗАГРУЗИ
    SAVE ЗАПИШИ

    В Terminal-BASIC, кстати, уже что-то подобное сделано, но соответствия отличаются.


    1. Didimus
      01.08.2022 12:01

      Какой-то словарь Эллочки-людоедки



    1. iig
      01.08.2022 12:07
      +4

      END ГОТОВО

      STOP ПРЕКРАТИ

      EXCEPTION ОЙВСЁ


      1. tormozedison
        01.08.2022 12:10
        +5

        А в каком Бейсике есть EXCEPTION? И я бы его перевёл как БЛИН.


    1. faultedChip
      01.08.2022 12:44
      +2

      STOP ПРЕКРАТИ

      Ах, семпай, прекрати!

      GOSUB ОТВЛЕКИСЬ

      Как-то вообще плохо. Это же не "отвлечение", а выполнение блока операций.


    1. Akon32
      01.08.2022 14:29
      -1

      Но почему именно бейсик? Он мёртв. Возьмите интерпретатор питона.


      1. tormozedison
        01.08.2022 15:17
        +1

        Это будет не винтаж/ретро.


        1. iig
          01.08.2022 15:36

          Можно взять питон 2.5 ;)


    1. MockBeard
      01.08.2022 19:37

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


      1. tormozedison
        01.08.2022 21:19

        Интересно, чтобы оно не в IDE работало, а в интерпретаторе с диалоговым режимом, ибо я с таковых начинал.


  1. matabili1973
    01.08.2022 12:01

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

    Естественно, это была надстройка, реализованная с помощью Node JS и Selenium. Основное достоинство - просто написания и поддержки тестов.

    Еще в теории могу вообразить национальный язык разметки.


    1. mikhail-edoshin
      01.08.2022 12:22

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

      Представим, например, нотацию для описания рецептов. Не просто список ингредиентов, а более толковую нотацию, как вот тут. Там будут шаги, операнды, изменения состояния, вызов подпрограммы приготовления соуса, и пр. Не сильно будет отличаться от «настоящего» языка программирования. Очевидно, что такая нотация как раз выиграет, если адаптировать ее к различным национальным языкам.


      1. iig
        01.08.2022 12:30
        +1

        Боюсь, что сварить хинкали по рецепту в национальной нотации я не смогу.


  1. Dr_Zoidberg
    01.08.2022 12:08
    +1

    ????


  1. Kotofay
    01.08.2022 12:21
    +6

    #include "stdafx.h"
    #include <iostream>
    
    использовати площадь какобычно аминь1
    
    наместе двояко провѣрятичегоглаголют молчаливо
    кагбе
    		ѣжѣли получалка.сломалася молчаливо тогдауж 
    		кагбе 
    			молвити "Не лепо молвишь, барин!" аминь1
    			возвѣрнути нуль спасихоспади1
    		ага
    		возвѣрнути один аминь1
    ага
    
    цѣло голова(цѣло количество_указов, глаголют указы[])
    кагбе 
    	дваждыточно первыйсундук, второйсундук, отвѣт аминь1
    	буквица знако спасихоспади1
    
    	творити 
    	кагбе
    		молвити "молви первый цифирь, барин: " аминь1
    		получити первыйсундук аминь1
    
    		ѣжѣли провѣрятичегоглаголют молчаливо еси ложъ тогдауж прѣрвати спасихоспади1
    
    		молвити "молви деяние, барин: " аминь1
    		получити знако спасихоспади1
    
    		ѣжѣли провѣрятичегоглаголют молчаливо еси ложъ тогдауж прѣрвати спасихоспади1
    
    		ѣжѣли знако еси 'q' тогдауж прѣрвати аминь1
    
    		молвити "молви второй цифирь, барин: " аминь1
    		получити второйсундук аминь1
    		
    		ѣжѣли провѣрятичегоглаголют молчаливо еси ложъ тогдауж прѣрвати спасихоспади1
    
    		избирати знако 
    		тогдауж	кагбе
    			выборъ '+' сталобыти
    				отвѣт буде первыйсундук да второйсундук аминь1
    				прѣрвати спасихоспади1
    			выборъ '-' сталобыти
    				отвѣт буде первыйсундук бѣзо второйсундук аминь1
    				прѣрвати спасихоспади1
    			выборъ '*' сталобыти
    				отвѣт буде первыйсундук повторити_столько_сколько второйсундук аминь1
    				прѣрвати спасихоспади1
    			выборъ '/' сталобыти
    				отвѣт буде первыйсундук убрати_столько_сколько второйсундук аминь1
    				прѣрвати спасихоспади1
    		ага
    
    		молвити "Ответ есьм: " аминь1
    		молвити отвѣт да_промолчати спасихоспади1
    
    	ага
    	пока (истино) аминь1
    
    	возвѣрнути нуль спасихоспади1
    ага

    Древнее зло пробудилось! Пришло время!

    https://habr.com/ru/post/41561/


  1. jobless
    01.08.2022 12:45

    Первую программу, которую, кроме меня использовал кто то ещё, я вводил с пульта Урал-11 в 8-х кодах. До того как я увидел первую раскраску Си на экране прошла маленькая вечность. Сейчас мне не удобно без раскраски как и многим другим. Убеждён что все языки программирования сведутся к хранению промежуточного дерева. А ключевые слова, операторные скобки [begin/end,{/},TAB] мы будем выбирать как стиль раскраски или цветовую схему. Кто то первый это сделает, как это случилось с раскраской, и мир изменится.

    p.s. кстати мне приходилось набирать Си текст на клавиатуре с отсутствующими фигурными скобками и да в стандарте это предусмотрено.


  1. lantanov
    01.08.2022 12:45
    +2

    меня просто тошнит от русского языка в коде после знакомства с 1С во время учёбы, ещё экзамен сдавали по нему, ужас


    1. Ta_Da
      01.08.2022 15:19

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


  1. aPiks
    01.08.2022 13:28
    +1

    Автор, а как же Йоптаскрипт?
    https://yopta.space/


  1. koreychenko
    01.08.2022 13:45
    +3

    Интерпретатору/компилятору в принципе пофигу на каком национальном языке написаны буковки в листинге программы. Научишь его с русского в бинарник гнать - будет жрать русский. Смысла, разумеется, никакого.
    Говорить, что в русском есть какая-то "истинно православная логика", которой нет в других национальных языках без доказательств некорректно. Скорее наоборот, практика показывает, что с лаконичностью у русского большие проблемы.
    Тут выше было, что можно использовать рода, падежи и всё такое. Ну, как бы в немецком это тоже всё есть и в итальянском, и чего? Т.е. у русского нет монополии на эти фишки естественного языка.
    Ну и отдельный привет тому, кто будет писать компилятор, который будет класть неявность русского языка на всякую булеву логику.


  1. DrMefistO
    01.08.2022 14:32

    Напомню про ИнтАЛ. Разработка белорусская. Имелись роботы-исполнители: чертёжник, кладоискатель и другие. Аналог КуМир.


  1. net_men
    01.08.2022 15:05
    +1

    Ох, какая жесть... когда я первый раз увидел 1С внутри, решил, что больше никогда :))


  1. denis_pesherin
    01.08.2022 15:08
    +1

    Вопрос зачем придумывать супер локальные ЯП?
    На английском говорит весь мир (так уж сложилось), все всех понимают и это помогает сообществу развивать продукты, делать для них либы, дорабатывать под себя.
    Вот представьте, что индусы начнут массово писать полезные программульки на хинди. Или на каком нибудь языке мертвых?
    Какой в этом смысл, если тебя не будут понимать другие люди?
    Да и вопрос кому надо было много переключаться в процессе написания кода?
    В нормальном продукте, где есть локализация все выводимые значения и формулировки выносятся в отдельный файл. В остальных местах все пишется на латинице.
    Комментарии можно писать и на английском. Я сомневаюсь что для кого-то написать мысль из 4-10 слов составит труда (а если и составит - повод для того, чтобы подучить язык)


  1. panzerfaust
    01.08.2022 15:10
    +3

    А можно узнать предполагаемый православный синтаксис для ФП и реактивщины? Map, flatmap, bind, monad, either, yield, debounce, throttle и т.д.


    1. AnthonyMikh
      02.08.2022 02:14

      Карта, плющкарта, вилка, буррито, либо, свержение, стреноживание.


      1. panzerfaust
        02.08.2022 07:41
        +2

        Ну буррито же неправославно. Лучше кулебяка.

        Hidden text

        Кулебяка - это расстегай в категории эндовыпечки


  1. sheshanaag
    01.08.2022 15:51
    +3

    GHCi, version 9.2.3: https://www.haskell.org/ghc/  :? for help
    Loaded GHCi configuration
    Prelude> :set -XUnicodeSyntax
    Prelude> import Text.Show.Unicode
    Prelude Text.Show.Unicode> напечатай = uprint
    Prelude Text.Show.Unicode> затем = (>>)
    Prelude Text.Show.Unicode> напечатай 5 `затем` напечатай "Ну и зачем это нужно?"
    5
    "Ну и зачем это нужно?"
    Prelude Text.Show.Unicode>
    


  1. GothicJS
    01.08.2022 17:59
    +1

    А ведь для американцев и англичан код выглядит, как для нас код на русском, и они от этого как то не парятся)


  1. miksmiks
    01.08.2022 19:18
    +3

    Мы в PascalABC.NET экспериментировали с этим 6 лет назад и пробовали сделать русские ключевые слова. Поскольку мы на PascalABC.NET массово учим школьников, то основная аргументация была такой - детям младших классов (для нас это 6-7 класс) будет понятнее видеть русский код.

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

    Но возник ряд проблем.

    Первая - основная. Когда набираешь код, то всё равно некоторые переменные пишешь на английском и знаки препинания тоже привык на английском. И переключать язык при наборе - это куча ошибок. А дети их делают в 10 раз больше преподавателя.

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

    var a := 0;

    Варианты:

    пер a := 0;
    перем a := 0;
    переменная a := 0;

    Все варианты - не очень. Второй немного лучше.

    В итоге код получается примерно такой:

    тип   
      Ученик = авто класс     
        Имя: строка;     
        Возраст: цел;   
      кон;
    
    нач   
      для перем счетчик := 1 до 10 делать     
        Вывод(счетчик);   
      перем а := 1;   
      ВыводПК;   
      пока а <= 10 делать   
      нач     
        Вывод(а);     
        а += 1;   
      кон;
      ВыводПК;   
      перем уч := нов Ученик('Иванов',15);   
      ВыводПК(уч); 
    кон.

    ВыводПК - это здесь аналог Println - как перевести ln по-другому - не хватило фантазии.

    Некоторые ключевые слова вообще плохо переводились:

    var a: array of integer;

    Как здесь перевести of - вообще непонятно.

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

    uses Исполнители;
    
    begin
      Страны.Выбрать(страна -> страна.Континент = 'Азия')
        .ОтсортироватьПоУбыванию(страна -> страна.Население)
        .Взять(10)
        .Преобразовать(страна -> (страна.Название,страна.Население))
        .ВывестиПострочно
    end.  

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

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


    1. PereslavlFoto
      02.08.2022 01:10
      +1

      var a: array of integer;

      переменная А: массив из целое;

      Конечно, очень режет глаза отказ от окончаний множественного числа.


      1. miksmiks
        02.08.2022 09:37

        Да, согласен. Я вижу, у нас были такие синонимы типов:

        тип 
          цел = integer;
          вещ = real;
          строка = string;

        Поэтому

        перем a: массив из цел;

        вполне себе ничего.

        У нас кстати была идея заложить в язык склонения и множественное число в зависимости от контекста. Это не безумная идея - на уровне компилятора можно сделать - в большинстве случаев будет нормально.


    1. TheHellblazer
      03.08.2022 09:22

      "Println" - "ВыводСтроки". "ln" - сокращение от "line"


      1. miksmiks
        03.08.2022 09:48

        Это не очень хорошая идея в ситуации

        Println(1,2,3)

        Начинающих будет путать - почему

        ВыводСтроки(1,2,3)

        выводит целые


  1. Krasnoarmeec
    01.08.2022 20:10
    +1

    А ЯМБ (язык машин бухгалтерских) почему-то забыли. Видел такой на ИСКРЕ 226. С документацией в виде здоровенной книжки переплетёных "синек" (кто знает, тот поймёт).


  1. sintech
    02.08.2022 00:17
    +1

    Удивлен, что никто не упомянул язык АП для армянских ЭВМ Наири с ключевыми словами: допустим, кончаем, введем, вставим.
    i=3 j=4 a
    i=2 x
    1 допустим i=0
    2 допустим j=0
    3 введем aij
    4 вставим j=j+1
    5 если j-3≤0 идти к 3
    6 вставим i=i+1
    7 если i-2≤0 идти к 2
    8 программа су (a 3 x)
    9 печатаем с 5 знаками x0 x1 x2
    10 кончаем


    1. iig
      02.08.2022 11:17
      +1

      Допустим - LET

      Вставим - SET

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


      1. ainoneko
        02.08.2022 14:11

        BASIC? ("идти к" там тоже есть)


        1. iig
          02.08.2022 14:25

          Точно. Старинный, с обязательной нумерацией строк ;)


  1. rev42
    02.08.2022 01:30

    Самое годное из того что есть на текущий момент, для программирования на руском, это Компонентный Паскаль или какой-нибудь диалект Оберона. Современные компиляторы позволяют писать от микроконтроллеров до прикладного софта, ОС (JAOS например) Мозг ломает конечно конкретно, но писать на русском можно)


  1. naff
    02.08.2022 11:18

    Единственное аргумент в пользу программирования на родном, а не заморском языке, можно описать одним мемом: «Не важно, жирный ты или худой. Главное что бы не жирный»