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

    Начал разработку русского языка программирования.
    Сокращенно: РЯП.
    Ну и, как следствие, начал разработку интерпретатора РЯП.
    РЯП напоминает язык КуМир, но будут существенные отличия и преимущества в сравнении с другими языками.

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

    Интерпретатор пишу в 32-битной версии среды разработки «Lazarus» (язык программирования Паскаль).
    В ряпе конечно же есть зарезервированные слова: начало, конец, если, цикл.
    Но зарезервированные слова можно использовать в качестве имен переменных!

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

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

    ДОПОЛНЕНИЕ 1 (от 28 февраля 18:30 МСК):
    1) Кто-то посмеялся над названием языка, предложил свои варианты.
    Прям, как малые дети :)
    2) Кто-то вообще не захотел скачивать архив, наверное, даже по ссылке не перешел.
    Для кого тогда придумывали URL и вообще всю философию HTTP?
    3) Кто-то никак не хочет отлипнуть от английского языка.
    Наверное, и шпрехает только на английском, используя слова типа стартап, коммит, заклозь, лайфхак, гамбургер, свитшот.

    ДОПОЛНЕНИЕ 2 (от 28 февраля 19:15 МСК):
    В скобках привожу латинские аналоги.
    Реализованы конструкции языка: начало (begin; начало цикла), цикл (cycle; конец тела цикла), если (if), = (присвоение).

    Бинарные операторы: * (умножение), + (сложение), — (вычитание), / (деление), ^ (возведение в степень),
    % (процент), mod (остаток от деления на число), and (битовое И), xor (битовое исключающее ИЛИ),
    or (битовое ИЛИ), >> (битовый сдвиг вправо).

    Унарные команды: ЛИнверт (LInvert; логическое инвертирование переменной), округлить (round; округление вещественного числа до целого числа), показать (show; отобразить имя и значение переменной)

    Вот код для вычисления простых чисел:
    число = 3
    конец = 60
    
    начало
     цикл = число / 5
     округлить цикл
     простое = 1
    
     начало
      цикл2 = цикл + 1
      остаток0 = число mod цикл2
      остаток = остаток0
      ЛИнверт остаток
    
      если остаток
      простое = 0
    
      цикл = цикл - 1
      если остаток
      цикл = 0
     цикл цикл
    
     если простое
     показать число
    
     число = число + 2
     конец = конец - 1
    цикл конец


    Результат:
    число = 3
    число = 5
    число = 7
    число = 11
    число = 13
    число = 17
    число = 19
    число = 23
    число = 29
    число = 31
    число = 37
    число = 41
    число = 43
    число = 47
    число = 53
    число = 59
    число = 61
    число = 67
    число = 71
    число = 73
    число = 79
    число = 83
    число = 89
    число = 97
    число = 101
    число = 103
    число = 107
    число = 109
    число = 113


    P.S. На перспективу:
    — Механизм массивов.

    — Вместо присвоения одной переменной можно написать формулу,
    в левой части которой может стоять не только переменная, но и операция с другой переменной.

    — Анализ кода.
    Выдача подробных подсказок программисту.

    — Автоматическое переформатирование кода в нужный стиль.

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

    — Иногда допускается, что между конструкцией языка (цикл, если) и переменной нет пробела.

    — Любой код можно записать в одну строку.

    — Объединение нескольких файлов кода в одном файле.

    — Любое количество букв в названии конструкции языка.

    Only registered users can participate in poll. Log in, please.

    Нужно ли развивать РЯП?

    • 82.9%нет461
    • 15.3%да, и сделать проект открытым85
    • 4.3%да, и сделать проект закрытым24
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 232

      +4
      Какова цель написания этого языка?
      Пока это мне не понятно, поэтому мое мнение — развивать его не стоит.
      Кстати цель — существительное. То есть «развитие языка» — это не цель.
      Интерес — цель.
      Настроение — цель.
      Знание — тоже цель.
        0
        Какова цель написания этой статьи? Минусов огрести? Чушь какая-то.
          +6

          Скорее всего — настроение.
          В отличие от многих бредятин в этих ваших хабрах данная бредятина статья положительное доставляет.
          Автору — пешыистчо респект!

            +1
            Спасибо за добрые слова!
            +1
            Кстати цель — существительное. То есть «развитие языка» — это не цель.
            Интерес — цель.
            Настроение — цель.
            Знание — тоже цель.

            Слово "развитие" — тоже существительное, не?

              0
              Слово «развитие» — тоже существительное, не?

              Тоже верно. Формально это так. Само слово «развитие» обозначает нематериальный объект, оно обозначает больше действие, некий процесс.
              А лучше избегать процессов и сложных абстрактных определений в формулировке цели.
              Например, «расширение рынка сбыта» — это плохо сформулированная цель. Ее трудно параметризировать. Да и рынок можно не только расширять, это один из методов или способов увеличения продаж.
              –1
              Основная цель — простота во всём, то есть простой синтаксис языка, простая среда разработки, интерпретация проще компиляции. Если очень грубо сравнивать, то РЯП есмь нечто среднее между Паскалем и брэйнфаком. Хотя Никлаус Вирт и объявлял Паскаль простым языком, но синтаксис относительно сложный для школьника, например. Помню в 9-м классе мне преподавали Паскаль, я ничего не понял. Правда, РЯП ещё не преподавался никаким школьникам, эта статья на Хабре — первая ласточка.
              Цели поменьше: возможность написания кода на русском языке, и как некое следствие: интерпретатор можно доработать так, что одну и ту же программу, выдающую один и тот же результат, можно написать и на русском, и на английском языке (чтобы утихомирить интернациональное сообщество).
              Интерес: в будущем просто и наглядно запрограммировать на РЯП ЛЮБОЙ алгоритм: сжатие данных, вычисление MD5, шифрование информации, обработка двумерной графики (а потом и n-мерной).
              Расширение: написание интерпретатора РЯП под DOS, на Java для сотового телефона, на Linux.
              И я бы даже сказал, как бы это бредово ни звучало, что я сам ещё не могу до конца сформулировать все цели написания языка, который я придумываю. То есть эти цели будут конкретно формулироваться в процессе улучшения языка.
                0
                простая среда разработки

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

              +13
              Почему не ХРЯП? (Хороший Русский Язык Программирования)

              (камраду ниже: блестяще! ХРЯК-ХРЯК и в продакшн! определенно нам этого не хватало)
                +15
                ХРЯК
                Хороший Русский Язык Кодирования
                СВИНЯРА
                Совершенно Великолепный И Новый Язык Русских Алгоритмов
                  +1
                  Как же хорошо, что он не удмуртский, например…
                  +32
                  Хороший Универсальный Язык Кодирования ;-)
                    +2

                    А это уже тянет на импортозамещение.

                    +1

                    "Хороший Универсальный Язык Кодирования Хороший Универсальный Язык Кодирования для производственных систем"

                      0

                      Хороший Универсальный Язык Кодирования сделал мне пятничный вечер! :-DDD

                        0
                        Скажите спасибо автору ХРЯК'а, он меня вдохновил ;-)
                          +2
                          Вообще, тема может быть даже денежная! Можно попробовать выбить бюджет на создание Научно-Исследовательского Института Хорошего Универсального Языка! )))
                      +2

                      В университете у нас был курс теории языков программирования (ТЯП). Вот там-то РЯП был бы точно к месту!

                        +4
                        Там бы подошёл Лучший Язык Программирования
                        +1
                        Я#
                          0
                          Наверное, уже занято кое-какой компанией.
                          0
                          Почему не ХРЯП

                          Етидрёный хряп! (с)
                          +22

                          Очередной пост о создании нового языка программирования без:


                          • задачи
                          • обоснования необходимости
                          • примеров конструкций
                          • примеров кода
                          • исходников
                            –8
                            Необходимость — в том, чтобы писать на русском языке, а не на английском. Стало быть, например, учить школьников — гораздо проще. Примеров кода приведено достаточно в архиве, и примеров конструкций. Исходники пока закрытые.
                              +3
                              Необходимость — в том, чтобы писать на русском языке, а не на английском.

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


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


                              Примеров кода приведено достаточно в архиве, и примеров конструкций.

                              Ненене. Никаких архивов. Есть пост, из которого можно было бы брать цитаты и обсуждать их. А архив качать неизвестно откуда? Спасибо, нет.


                              Исходники пока закрытые.

                              Ну и зачем? Особенно прекрасно это сочетается с "свободно скачивайте и распространяйте".

                                +1
                                ИМХО школьники и так достаточно рано знакомятся с английским еще до его преподавания в школе. Мне это как-то не мешало от слова совсем — запоминать сочетания букв латиницы.
                                  +1
                                  Мне это как-то не мешало от слова совсем — запоминать сочетания букв латиницы.

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

                                  +2
                                  Необходимость — в том, чтобы писать на русском языке, а не на английском. Стало быть, например, учить школьников — гораздо проще.

                                  Рекомендую поискать англоязычные исследования на эту тему.
                                  По-моему это наоборот мешает, отделить привычные бытовые понятия от того, что слово является ключевым для компилятора. Т.е. будут относиться к компилятору как человеку. На практике это может привести к тому что вместо команды «покажи», дети будут пробовать вбивать команды «напечатай», «расскажи» и т.п.
                                    +1
                                    для существующей команды «показать» можно добавить все эти аналоги: «покажи», «напечатай», «расскажи».
                                    На данный момент есть интерпретатор РЯП, и нет компилятора.
                                      0
                                      для существующей команды «показать» можно добавить все эти аналоги: «покажи», «напечатай», «расскажи».

                                      Все? Еще и с поправкой на знание детьми русского языка? Вам придется решать задачу NLU, причем в полном объеме.

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

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


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

                                              0
                                              Интерпретатор ещё и ошибки будет исправлять!
                                                0

                                                а нецензурно выражаться будет?

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

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

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

                                            0
                                            Школьники привыкли давным давно к тому, что современный мир латинизирован, так что, разве что, пенсионеров учить гораздо проще
                                            Когда я вижу подобные упражнения в прекрасном, мне каждый раз становится интересно, откуда у людей возникает эта неспособность строить логические цепочки сложнее двух элементов
                                            Все нормальные языки программирования основаны на латинице и английском не потому что это заговор рептилойдов, а потому, что весь мир, объективно, читает латиницу и худо-бедно говорит на английском, так что это просто универсальнее, чем пытаться впихнуть очень локальные язык и алфавит в, объективно, довольно глобальную тему IT
                                              0
                                              На РЯП можно писать чистой латиницей, не вопрос! А потом ту же программу переписать чистой кириллицей, или просто автоматически странслировать из латиницы в кириллицу.
                                                0

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

                                                  0
                                                  Всё-таки, пожалуй, основная цель — создать максимально простой язык программирования. Но раз уж я русский человек, то и сразу же родилась идея чтобы на этом языке программирования можно было писать на русском языке. И раз уж создавать простой ЯП, то и среда разработки должна быть максимально простой, на данный момент интерпретатор представляет собой единственный EXE-файл, который не надо устанавливать, как Phyton или Visual Studio, который относительно легковесен (18 Мб).

                                                  Мне больше всего нравится Паскаль из-за относительной простоты. И никогда не нравился Си из-за своей сложности, в том смысле, что любой алгоритм, любую программу можно написать проще на том же Паскале, не прибегая ко всяким изощренным конструкциям Си. Больше всего я программировал на Паскале и на Си. В меньшей степени — на Ассемблере, Джаве и Бейсике.

                                                  Лично я питаю надежды к РЯП, если бы я не возлагал бы никаких надежд (пусть мои надежды воспринимаются людьми как мои сугубо субъективные надежды), я бы просто не выдумал РЯП. То есть при выдумывании РЯП для меня была важна философия языка программирования, а технические вопросы — уже второй вопрос. На данный момент на РЯП можно прекрасно запрограммировать всякие математические вычисления (синус, корень числа, число ПИ и т.д.). Разумеется, раз язык интерпретируемый, то нет никакой речи о быстром выполнении кода. Но я изначально не принимал во внимание быстродействие. Так как в юности воспитался на том же аналоге ПЭВМ «Радио86-РК» — «Партнёр 01.01 ВЦ».
                                                    0
                                                    философия языка программирования

                                                    Так описали бы сперва её. По постулатам и следствиям, как у Аристотеля. И потом, убедившись в её внутренней непротиворечивости — писали язык.


                                                    Кстати, вы на языке микрокалькуляторов (ЯМК) программировали?

                                                      0
                                                      На языке микрокалькуляторов не программировал, но у меня есть наработка, чем-то напоминающая ЯМК, называется язык SoloTable. Интерпретатор можете скачать по ссылке freelance.ru/nushaman/interpretator-yazika-programmirovaniya-solotable-3554292.html
                                                      Но в SoloTable по сравнению с РЯП наоборот, программы пишутся латинскими буквами, каждая буква — это команда. Скачайте архив, запустите Сотейник, и почитайте описание языка на вкладках «Readme».
                                                        0

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


                                                        SoloTable

                                                        Заценил. Вообще не похоже.

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

                                                      Приведите критерий "простоты". Формальный и объективный, а не "мне кажется, что так проще".

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

                                                        Но ведь… Си проще паскаля. В паскале дикое количество вариантов массивов, массивы, индексируемые типом-диапазоном или перечисляемым типом, или каким-нибудь short или byte, множества, строки, типы-диапазоны, цикл for в двух направлениях, каждый тип указателя нужно объявлять, 3 типа передачи аргументов в функцию, какие-то свои вещественные типы real, extended; объектный тип, отдельный синтаксис для аргументов read[ln]/write[ln], цикл repeat-until не имеет begin-end и продолжается условии false, а не при true, как while-do, etc. А в си просто указатели нормально сделаны, присваивания возвращают результат, цикл for более универсален, битовые поля иногда есть, да функции могут принимать переменное число аргументов. Скобочки не в счёт — {} не менее читаемы, чем begin end.


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

                                              +6
                                              То, что язык будет русским, это его недостаток, т.к. ограничивает его использование только программистами, у которых есть на клавиатуре русские буквы. Какие у языка будут преимущества перед существующими ЯП?
                                                –1
                                                Очевидно же, его не смогут читать враги. Слышали байку, как американские шпионы офигевали в русских НИИ, видя вместо привычных х(икс) — щ(ща)?
                                                  0
                                                  конструкцию «если» можно написать как «if», начало — begin, цикл — cycle. Преимущества: простота, интерпретируемость, относительно быстрая реализация интерпретатора под любую платформу.
                                                    +1

                                                    Закрадывается ощущение, что желание сделать русский язык в том числе возникает и из-за плохого знания английского. Цикл это таки loop, а не cycle, в данном контексте.

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

                                                  Дадада.


                                                  color = 'red'
                                                  print(colour)

                                                  Удачи.

                                                    0
                                                    Вы что, это в басурманском языке можно так ошибиться, а в русском языке слово «цвет» однозначно!
                                                      +1

                                                      Это пока вы свет не написали. Проверочное "белый свет".

                                                      +2
                                                      name colour is not defined
                                                        +3

                                                        С чего бы? Должна быть объявлена переменная с типом Double.

                                                        +3
                                                        Возможно, если написать наоборот(сначала colour, a потом color), то оно даже сработает как ожидалось. Ведь заявлена адовая фича
                                                        Имя переменной можно сокращать.
                                                        Интерпретатор сам определит, какую переменную из объявленных имели в виду.
                                                          +2
                                                          Этопять, ящитаю.
                                                          startNuclearStrike = false
                                                          ...
                                                          clear = true
                                                          ...
                                                          if (startNuclearStrike) {
                                                            // enjoy armagedon
                                                          }
                                                          
                                                            0

                                                            startNuclearStrike — это устроить ядерную забастовку, или имелось ввиду launch?

                                                              +1
                                                              это устроить ядерную забастовку
                                                              Это «ядерный удар». Именно так он в английском и пишется.
                                                          0

                                                          Для учебного языка — даже хорошо. Чтобы ПРОЧУВСТВОВАТЬ, чем явные объявления лучше неявных.
                                                          Я с BASIC начинал. Сперва спотыкаешься об подобную хрень, потом сам прописываешь OPTION EXPLICIT и понимаешь, зачем в языке ограничения.

                                                            0
                                                            На данный момент в РЯП нет типов Char и String, поэтому интуитивно нет алгоритма, в котором бы появилась необходимость задавать явно типы переменных, отличных от Double.
                                                            Ведь Double — это не только вещественное число, но и целое число! И если вы не используете строки, значит используете числа, а тип Double покрывает все нужды (если разрядность не ограничивает работу конкретного алгоритма).
                                                            Кстати, когда реализую механизм массивов, то запилю длинную арифметику.
                                                              0
                                                              с Double очень легко обжечься… это формат с плавающей запятой, что ведет к проблемам округления… например:
                                                              вот в таком цикле

                                                              Для Инд Тип Double=1.1 По 2 Шаг 0.1 Цикл
                                                              ВыводСтроки «Инд = „+Инд
                                                              КонецЦикла

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

                                                              лучше используйте Decimal
                                                                0
                                                                Double — это не только вещественное число, но и целое число!
                                                                Целые числа double представляет скажем так не очень. До степени когда 1+2 != 3, что усложняет объяснение основ программирования школьникам.
                                                                  0

                                                                  Нет, целые как раз представляет хорошо. До 2^56.

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

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

                                                                        0
                                                                        вы не поняли смысл моего комментария… я написал: «когда целое ОЖИДАЕТСЯ при выполнении арифметических операций»
                                                                        пример на C#
                                                                        for (double i = 1.1d; i <= 2d; i = i+.1d) {
                                                                        Console.WriteLine(i);
                                                                        }
                                                                        число 2 не будет выведено в консоль, хотя ОЖИДАЕТСЯ, что оно будет выведено…
                                                                          0

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

                                                                            0
                                                                            речь-то не о вас… однако, даже опытные папы Карло иногда на этом Double спотыкаются… не говоря о начинающих буратинах… поэтому для языка с единственным числовым типом лучше выбрать Decimal…
                                                                              0

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


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

                                                                  0
                                                                  Ведь Double — это не только вещественное число, но и целое число! И если вы не используете строки, значит используете числа, а тип Double покрывает все нужды

                                                                  И вот что бы не взять decimal, у которого нет проблем с округлениями?

                                                                  0
                                                                  Для учебного языка — даже хорошо

                                                                  Это смотря чему учить.

                                                                    0

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

                                                                      0
                                                                      Учебные языки нужны для того, чтобы учить с нуля.

                                                                      Чему учить-то? Какая задача?

                                                                        0

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

                                                                          0

                                                                          Зачем? Цель этого всего какая?

                                                                            0

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

                                                                              0

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

                                                                                0

                                                                                Ну, до математики, конечно, далеко. Но вполне наравне с черчением.

                                                                                  0
                                                                                  Но вполне наравне с черчением.

                                                                                  Эгм. То есть нет смысла преподавать вообще.

                                                                                    0

                                                                                    Почему? Один час в неделю в течение одного года.

                                                                                      0

                                                                                      Потому что не было у меня черчения в таком объеме, и я не жалею.

                                                                                        0

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

                                                                                          0

                                                                                          А у меня и программирования не было. В школе, в смысле.

                                                                +2
                                                                Паскаль, тащемта, уже ушел. Интересно узнать чем же автора так не устроили существующие мейнстримовые языки и как он собирается решать эти проблемы в своем детище?
                                                                  0
                                                                  Сложно написать интерпретатор Си под систему DOS (ну или под BIOS).
                                                                  А вот интерпретатор РЯП написать под DOS уже на порядок легче.
                                                                  То есть DOS, Linux, Java, промышленные контроллеры — это будущие кандидаты на реализацию интерпретатора РЯП.
                                                                    0
                                                                    DOS умер, он никому не нужен (как и новый язык программирования)
                                                                      +1
                                                                      DOS до сих пор работает на миллионах компьютерах, а Русский Язык Программирования нужен русскому народу.
                                                                        0
                                                                        Правильно, кстати, писать «РуССкому Народу»
                                                                          0
                                                                          Русский Язык Программирования нужен русскому народу.

                                                                          А русский народ об этом знает? Или вы за него решили?

                                                                        0

                                                                        А зачем писать интерпретатор Си под DOS или BIOS, если можно скомпилировать программу на Си для выполнения под DOS (и, думаю, под BIOS тоже)?

                                                                      +5
                                                                      С меня, однажды, как-то хватило Русского языка программирования в 1с (знаю, что можно переключить)…
                                                                        +8

                                                                        Я понимаю, что пятница уже вовсю идёт, но не до такой же степени!

                                                                          +1

                                                                          Почему же?
                                                                          Если у человека как раз в тяпницу появился новый план.
                                                                          Оличный свежий план.
                                                                          PS. Прямые поставки от официального дилера, автор рекомендуе.

                                                                          +6

                                                                          Логические операции и условные операторы таки_да, таки_нет, а_вдруг_если будут?

                                                                            +5
                                                                            без операций: «а вам зачем?» и «а сколько надо?» язык будет неполноценен.
                                                                              0

                                                                              Троичная логика плачет, не спит по ночам и кусает локти :)

                                                                                +2
                                                                                тогда еще и «а если найду»
                                                                                  0
                                                                                  Это будет зарезервированное название функции у встроенного GC
                                                                                +2
                                                                                Это уже больше на КЯП похоже (Кошерный Язык Программирования)
                                                                                  0

                                                                                  Даёшь КУЯП (кошерный универсальный язык программирования)!

                                                                                  +1
                                                                                  таки_да, таки_нет, а_вдруг_если будут?

                                                                                  «а_если_найду» точно будет, раз уж
                                                                                  — Имя переменной можно сокращать.
                                                                                  Интерпретатор сам определит, какую переменную из объявленных имели в виду.

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

                                                                                    да_нет

                                                                                      0

                                                                                      а_если_найду ...

                                                                                        +1
                                                                                        И оператор безусловного перехода
                                                                                        «иди на ...»
                                                                                          0
                                                                                          не, не! Эдгар Дейкстра против оператора GOTO!
                                                                                            0
                                                                                            Да. Поколения Фортрана и Бэйсика сменило поколение Питона )))
                                                                                            Тем не менее это оператор есть и в Си и в Паскале. И если цивилизованный программист вполне может отказаться от их использования, то всякие автоматические Нечто-Паскаль трансляторы без него не обходятся
                                                                                              0

                                                                                              Стоп-стоп-стоп!
                                                                                              А как же break? Это ведь именно "иди на..." или "иди в...", в общем "катись отседова!"

                                                                                                0
                                                                                                это скорее «брось каку»
                                                                                                  0
                                                                                                  а вот и код, выполняющий функционал конструкции break:
                                                                                                  начало
                                                                                                  какой-то код
                                                                                                  если остаток
                                                                                                  цикл = 0
                                                                                                  цикл цикл
                                                                                                    0

                                                                                                    … а если это надо сделать не последней инструкцией в цикле? Все остальное снова в если заворачивать?

                                                                                                      –1
                                                                                                      для кода из предыдущего моего коммента где-то в коде переменная остаток приравнивается ненулевому значению (типа произошел break), и уже в конце тела цикла происходит выход из цикла (то есть цикл прекращает переход на начало). получается, что да, всё остальное в
                                                                                                      если
                                                                                                      заворачивать.
                                                                                                        0

                                                                                                        … то есть каждый раз, когда надо сделать break, мы увеличиваем вложенность на уровень.


                                                                                                        Но зачем?

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

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

                                                                                                                0
                                                                                                                мне просто писать на РЯП. У каждого языка существует время, за которое обучаемый может изучить предлагаемый ему язык на определенное кол-во процентов.
                                                                                                                Например, брейнфак можно изучить на 100% за несколько часов.
                                                                                                                РЯП можно изучить за несколько дней, Паскаль за 1 месяц, Си за 6 месяцев.
                                                                                                                А потом предлагают человеку написать алгоритм на каждом языке. За какое время он напишет его на каждом языке?
                                                                                                                  0
                                                                                                                  мне просто писать на РЯП.

                                                                                                                  Это не удивительно, это же ваша разработка.


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

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


                                                                                                                  РЯП можно изучить за несколько дней, Паскаль за 1 месяц, Си за 6 месяцев.

                                                                                                                  Я не знаю про Паскаль и Си, я знаю про C#. Заметим, я пишу на C# лет пятнадцать, и все равно не могу сказать, что знаю его на 100%, но не суть. Но я готов сказать, что изучить C# в объеме той функциональности, которую — по вашему посту — предлагает РЯП можно за то же время (а может быть и быстрее), что и РЯП.


                                                                                                                  За какое время он напишет его на каждом языке?

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

                                                                                                                    0
                                                                                                                    Например, брейнфак можно изучить на 100% за несколько часов

                                                                                                                    Секунд.


                                                                                                                    РЯП можно изучить за несколько дней

                                                                                                                    На чтение спеки по ЯМК у меня примерно 36 часов ушло. Что, в общем, обычное время для чтения спеки. Программировать вычисления можно начинать сразу.
                                                                                                                    Правда, редактор на борту МК-161 прямо скажем, никакой.

                                                                                                0
                                                                                                Уже есть же РЯП++ и Азъ
                                                                                                  –1
                                                                                                  Начал разработку русского языка программирования.

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

                                                                                                    +4

                                                                                                    Недостаточно масштабно.


                                                                                                    Отрекаемся от логических функций "И, ИЛИ, НЕ". Вместо них берём "НУ, МОЖЕТ, ЯХЗ".
                                                                                                    На этой базе строим свою смехотехнику, в которой ошибка будет неотличима от штатного поведения системы. Это же спасёт нас от ревизии.
                                                                                                    И просим 100500 олимпиардов на замещение архитектуры прошлого тысячелетия.

                                                                                                      0
                                                                                                      НУ, МОЖЕТ, ЯХЗ

                                                                                                      Fuzzy logic!
                                                                                                        0
                                                                                                        Вместо них берём «НУ, МОЖЕТ, ЯХЗ».

                                                                                                        Есть такие. Даже круче. С конструкцией «а не то». :) Babbage.
                                                                                                          0

                                                                                                          Главное полностью отказаться от четкой логики, от классических true/false.

                                                                                                            0

                                                                                                            да_нет_наверное

                                                                                                              0
                                                                                                              Смотрите. Вам видно, что пока они — рабы логики, а этот человек на холме пришел их освободить. (с) Я, робот.
                                                                                                              0
                                                                                                              на полученные олимпиарды построить русский квантовый компьютер, который будет регулярно отключаться и требовать взятку за повторное подключение к энергосети
                                                                                                                0
                                                                                                                Обязательно нужны «НЕНУАЧО» и «ПОФИГ И ТАК ПОЙДЕТ»
                                                                                                                  +2
                                                                                                                  ПОФИГ И ТАК ПОЙДЕТ

                                                                                                                  ON ERROR CONTINUE

                                                                                                                  0
                                                                                                                  На этой базе строим свою смехотехнику

                                                                                                                  Очепятка от бога. Ну или не очепятка…
                                                                                                                  +5
                                                                                                                    +2
                                                                                                                    православные операторы будут?
                                                                                                                      +1

                                                                                                                      А як же ж.
                                                                                                                      † — ставится в конце программы, означает "ну, с богом..."

                                                                                                                        +2

                                                                                                                        После такого оператора можно сразу в прод.

                                                                                                                          0
                                                                                                                          Если православные, то должно быть (U+2626)
                                                                                                                            0

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

                                                                                                                              0
                                                                                                                              И на линухе не запустится, там же демоны…
                                                                                                                              А уж про FreeBSD можно даже не заикаться.
                                                                                                                        –3
                                                                                                                        Неплохая идея.
                                                                                                                          0
                                                                                                                          Интересно будет произведения русских классиков скомпилировать на таком языке.
                                                                                                                            +1
                                                                                                                            Эх, скука
                                                                                                                            Нет духа старого Кащенко okante.narod.ru/D
                                                                                                                              +1
                                                                                                                              Вы не пробовали программировать на 1С?
                                                                                                                              Переменные не надо объявлять — плюсы и минусы яву со строгой типизацией данных.
                                                                                                                              Собственно ядро языка это наверное 5%. Остальную популярность ему обеспечивает наличие готовых библиотек и фреймворков.
                                                                                                                              В принципе написание своего парсера выражений или семантического разбора замечательная практика для студента. вполне тянет на тему диплома.
                                                                                                                              А вот дальше чем хобби в 99.9999% не пойдет.
                                                                                                                                0
                                                                                                                                Вы несколько опоздали: гранты на создание «национального языка программирования» попилили еще в 2016 году.
                                                                                                                                  +1

                                                                                                                                  Операторы нечеткой логики Авось и Небось будут к месту

                                                                                                                                    0
                                                                                                                                    потом запилю всякие перцептроны циклические и прочую нечеткую ересь.
                                                                                                                                    +4
                                                                                                                                    Классика

                                                                                                                                      +1
                                                                                                                                      под Bolgenos работать будет?
                                                                                                                                        0
                                                                                                                                        На данный момент интерпретатор РЯП выполняется лишь в семействе операционных систем «Microsoft Windows», начиная с «Windows 7» и выше.
                                                                                                                                        Планируется реализация интерпретатора под системы «Linux Debian» и «Linux Ubuntu».
                                                                                                                                        +15
                                                                                                                                        Боже, а самое вкусное-то по ссылке!
                                                                                                                                        Заголовок спойлера
                                                                                                                                        image

                                                                                                                                        Правильно ли я понимаю, что для отладки можно в тело цикла вставить оператор показать член?
                                                                                                                                          0

                                                                                                                                          Цикл цикл — 1 цикл цикл! Цикл

                                                                                                                                            0
                                                                                                                                            О боже :D. Он немного поторопился. Запости через месяц, купался бы в плюсах.
                                                                                                                                              +2
                                                                                                                                              показать член Эйлера же!
                                                                                                                                              И пусть интерпретатор сам догадается, что имелось в виду.
                                                                                                                                                0
                                                                                                                                                Скрытый текст

                                                                                                                                                Какой член придётся в пору
                                                                                                                                                Чтоб засунуть в зад Тейлору?
                                                                                                                                                Оба члена хороши —
                                                                                                                                                И Лагранжа, и Коши.


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

                                                                                                                                                  0
                                                                                                                                                  Млять!!! Только хотел именно этот стиш сюда запостить и у Вас увидел!!! НЭКАРАШО чужой мисли чэтать! :))))))
                                                                                                                                              0
                                                                                                                                              Ну, что сказать — забавно. Пожалуй я знаю ответ на вопрос «зачем», и куда развивать. Сначала ссылка: ifiction.ru Есть такая штука — интерактивная литература. Думается, на этом поприще РЯП может снискать себе известность, будучи допиленным до юзабельного состояния. Для использования в качестве языка программирования интерактивной литературы, необходимо будет реализовать в интерпретаторе РЯП функции загрузки и сохранения, поддержку графики, работу со звуком, создание элементов GUI и т.д.
                                                                                                                                                +1

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

                                                                                                                                                  –1
                                                                                                                                                  Ифня (жарг. — русскоязычное сообщество интерактивной литературы) уже давно ноет о том, что вот у англоязычных авторов есть Inform, и хорошо бы писать код на том-же языке, что и контент, и не переключать раскладку постоянно. К тому же это существенно снизит порог вхождения — такой себе аргумент, конечно, но тем не менее.
                                                                                                                                                    0
                                                                                                                                                    уже давно ноет о том, что вот у англоязычных авторов есть Inform

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


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

                                                                                                                                                      –1
                                                                                                                                                      Ну да, я об этом и написал же.
                                                                                                                                                        0

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

                                                                                                                                                          –1
                                                                                                                                                          Си и Паскаль уйдут, Питон утонет, Яву скурят!
                                                                                                                                                          Такие себе цели. Ну да ладно. [машет рукой]
                                                                                                                                                            0

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


                                                                                                                                                            Мне, на самом деле, интересно, можно ли как-то скрестить (да наверняка кто-нибудь и скрестил уже) языки для interactive fiction с мощным NLU (ну там, интенты, параметры интентов, вот это всё), но это явно не к языку из поста.

                                                                                                                                                0
                                                                                                                                                Уже 5 минут пытаюсь понять: автор вбросил или серьезно?
                                                                                                                                                  +4
                                                                                                                                                  я вбросил и, похоже, серьезно вбросил :)))
                                                                                                                                                  +1
                                                                                                                                                  Учил в институте (КПИ, ~ 78 год) язык «АЛМИР» (https://ru.wikipedia.org/wiki/%D0%90%D0%9B%D0%9C%D0%98%D0%A0-65). Там как раз все было имено на русском.
                                                                                                                                                    0
                                                                                                                                                    Есть руфисицированный и украинизированный интерпретируемый диалект паскаля — Алго. С черепашками и прочими роботами, специально для школьников. Официальный сайт вроде давно умер, но найти в интернете еще можно.
                                                                                                                                                    +1

                                                                                                                                                    ЕСЛИ КОНЕЦ ЦИКЛ

                                                                                                                                                      0
                                                                                                                                                      Почему бы не перевести существующий да и всё? )
                                                                                                                                                          –2
                                                                                                                                                          Довелось как-то писать лабораторки на русскоязычной версии Смоллтока. Ужас и Адъ!
                                                                                                                                                          Цикл(пока, до)…

                                                                                                                                                          1С видел раз в жизни — такие же чувства.

                                                                                                                                                          Давайте тогда уж

                                                                                                                                                          #define коли if(
                                                                                                                                                          #define пущай ){
                                                                                                                                                          #define ежели }else if(
                                                                                                                                                          #define либо }else{
                                                                                                                                                          #define аминь }
                                                                                                                                                          #define покуда while(
                                                                                                                                                          #define твори do{
                                                                                                                                                          #define доколе }while(
                                                                                                                                                          #define буде );
                                                                                                                                                          #define откель for(
                                                                                                                                                          #define ступай goto
                                                                                                                                                          #define вон exit
                                                                                                                                                          #define

                                                                                                                                                          покуда а мене 10 пущай а стане а да 1 аминь
                                                                                                                                                          // твори а стане а без 1 доколе а поболе 0 буде

                                                                                                                                                          image
                                                                                                                                                            +1
                                                                                                                                                            число = 3
                                                                                                                                                            конец = 60

                                                                                                                                                            начало
                                                                                                                                                            цикл = число / 5
                                                                                                                                                            округлить цикл
                                                                                                                                                            простое = 1


                                                                                                                                                            Выглядит ни капли не по русски. И еще запутанней чем на английском.

                                                                                                                                                            Надо бы примерно так (что делает ваш код я так и не понял — поэтому пример с другим функционалом — подсчитаем вхождения в массиве объектов):

                                                                                                                                                            сотрудники = [{имя: "Петя", пол: 1},{имя: "Оля", пол: 2}]
                                                                                                                                                            мужики = 0
                                                                                                                                                            Для каждого человека из сотрудников   {
                                                                                                                                                              Если человек.пол = 1 {
                                                                                                                                                                 мужики ++
                                                                                                                                                              }
                                                                                                                                                            }
                                                                                                                                                            Напечатать мужики

                                                                                                                                                            (сотрудники, сотрудников — одно и тоже, спряжения надо будет понимать)

                                                                                                                                                            Конечно коряво — но должно быть читабельно. Objective C в этом отношении — был забавен.
                                                                                                                                                            Ваша ошибка вы не переводите, а просто заменяете слова. А в русском другие конструкции, и надо это учитывать.

                                                                                                                                                            А вообще, зачем такое импортозамещение нужно? Совсем самизолироваться от мира хотите?

                                                                                                                                                              0
                                                                                                                                                              Русский Язык Программирования — это не значит, что слова будут склоняться как в русском языке. РЯП скорее похож на мнемоники Ассемблера. В одной строке лишь одно действие (если не считать присвоения): присвоение с операцией, или команда над переменной, или одна конструкция языка. Проще некуда ИМХО.

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

                                                                                                                                                              В перспективе на доработанном РЯП можно будет написать ЛЮБОЙ алгоритм. Поэтому о самоизоляции не может быть и речи. Наоборот, будет происходить последовательное улучшение языка.
                                                                                                                                                              0
                                                                                                                                                              число mod цикл2

                                                                                                                                                              Товарищ автор. Я категорически настаиваю, что ВЕСЬ код должен набираться в одной раскладке.
                                                                                                                                                              Ещё, рекомендую подумать, что Вы будете делать со знаками <>.

                                                                                                                                                                0

                                                                                                                                                                А зачем Хорошему Универсальному Языку Кодирования эти знаки? Так и писать: "больше" или "меньше".

                                                                                                                                                                  0
                                                                                                                                                                  Я могу сделать русский аналог команды mod — модуль.
                                                                                                                                                                  На данный момент нет операторов < (меньше) и > (больше), и согласно текущей философии РЯП они не планируются, так как условие реализовано в виде кода:
                                                                                                                                                                  если [переменная]
                                                                                                                                                                  [следующая строка]
                                                                                                                                                                  что значит:
                                                                                                                                                                  если значение [переменная] больше или равно единице, то выполнить [следующая строка], иначе проигнорировать [следующая строка].
                                                                                                                                                                    +1

                                                                                                                                                                    Долой неравенство! Все переменные — равны!

                                                                                                                                                                      +1

                                                                                                                                                                      Умница, Грета! Дай я тебя обниму за горло...

                                                                                                                                                                        –3
                                                                                                                                                                        Русский Язык Программирования — Русскому Народу!
                                                                                                                                                                          0
                                                                                                                                                                          Т.е. вы предлагаете запретить Японцам, например писать на РЯП? Или это призыв бить японцев за то, что пишут на непонятной тарабарщине?
                                                                                                                                                                            0
                                                                                                                                                                            запретить Японцам, например писать на РЯП

                                                                                                                                                                            Под страхом РЯВ :)

                                                                                                                                                                        0
                                                                                                                                                                        если значение [переменная] больше или равно единице, то выполнить [следующая строка]

                                                                                                                                                                        А если равно 0.5? А почему?


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

                                                                                                                                                                          0

                                                                                                                                                                          Можно логические значения и не вводить. Как в BASIC — 0 / не 0. А логические операции в качестве True возвращают целое число, все биты которого подняты.


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

                                                                                                                                                                            0

                                                                                                                                                                            Зачем так сложно?

                                                                                                                                                                              0

                                                                                                                                                                              Что именно сложно?

                                                                                                                                                                                0

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

                                                                                                                                                                                  0

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


                                                                                                                                                                                  Другое дело, что для этого нужен целый тип данных. В бэйсике, например логические операции работали с Int16 (наименьший тогдашний тип). И True, соответственно было равно -1.

                                                                                                                                                                                    0
                                                                                                                                                                                    Искренне не понимаю, что в этом сложного

                                                                                                                                                                                    Зависит от того, кому вы преподаете. Объяснить начинающему, особенно ребенку, смысл фразы если 5, то — сложно. Что значит "если пять"?

                                                                                                                                                                                      0

                                                                                                                                                                                      Ну, нам в школе объясняли так:
                                                                                                                                                                                      "Оператор IF выполняет действие после THEN в том случае, если выражение после IF не равно 0".
                                                                                                                                                                                      И закрепляли несколькими примерами.
                                                                                                                                                                                      Далее, рассказывали про операции сравнения, результатом которых может являться "True" или "False", причём False=0, а True=-1.
                                                                                                                                                                                      Такой нюанс, что -1 в дополнительном коде это шестнадцать единичек — на начальной стадии не нужно.

                                                                                                                                                                                        0
                                                                                                                                                                                        "Оператор IF выполняет действие после THEN в том случае, если выражение после IF не равно 0".

                                                                                                                                                                                        Понимаете, это объяснение магических слов. "Оператор IF". А я говорю о коде, который читается как текст: "если пять больше двух, то". В котором не надо запоминать магические слова.

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

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

                                                                                                                                                                                            0

                                                                                                                                                                                            А в чем тут чудеса-то? Если запись похожа на текст, ее можно читать. Никаких чудес.

                                                                                                                                                                                              0
                                                                                                                                                                                              Если запись похожа на текст, ее можно читать.

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

                                                                                                                                                                                                0
                                                                                                                                                                                                Вот только слова значат не совсем то, что в текстах на естественном языке.

                                                                                                                                                                                                Да нет, вполне то. "Если" значит "если".


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

                                                                                                                                                                                                  0
                                                                                                                                                                                                  Текст на естественном языке почти всегда многозначен

                                                                                                                                                                                                  А код — однозначен. И об этом нужно помнить.


                                                                                                                                                                                                  небольшие отличия легко скрадываются

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

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

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

                                                                                                                                                                                                      0

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

                                                                                                                                                                                                        0

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

                                                                                                                                                                                                          0

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


                                                                                                                                                                                                          С другой стороны, из-за сходства языков программирования с английским языком — бывает трудно гуглить англоязычные материалы по языкам программирования. Гугл путает ключевые слова языка со словами в тексте. Я всё проклял, пока нашёл, что за беда у uglify с оператором with.

                                                                                                                                                                            0
                                                                                                                                                                            в предыдущем комменте я ошибся. на самом деле правильнее так:
                                                                                                                                                                            если значение [переменная] меньше или равно нулю, то проигнорировать [следующая строка], иначе выполнить [следующая строка].
                                                                                                                                                                              0

                                                                                                                                                                              Это еще хуже.

                                                                                                                                                                                0
                                                                                                                                                                                Это еще хуже.

                                                                                                                                                                                Отнюдь. Это более-менее стандартное поведение для ряда языков программирования.

                                                                                                                                                                                  0

                                                                                                                                                                                  От того, что оно стандартное, оно лучше не становится.

                                                                                                                                                                                    0
                                                                                                                                                                                    Не такое уж и стандартное. Все более менее известные языки либо трактуют 0 как false и не 0 как true, либо трактуют все кроме false и null как true. В каких конкретно языках значение меньше 0 трактуется как false?
                                                                                                                                                                                      0

                                                                                                                                                                                      Не трактовка <0 как true, а команда условного перехода не по произвольному логическому выражению значению, а по захардкоженному сравнению переменной с нулём.
                                                                                                                                                                                      В языке микрокалькуляторов (МК-61) были четыре разных команды условного перехода для x=0, x!=0, x>=0, x<0.

                                                                                                                                                                                        0
                                                                                                                                                                                        в РЯП задумано, что переменная цикла в теле цикла постоянно уменьшается, и как только значение этой переменной достигнет нуля или станет меньше нуля, то в строке «цикл [переменная]» произойдёт выход из цикла.
                                                                                                                                                                                          0

                                                                                                                                                                                          … и все это вместо того, чтобы сделать явное сравнение?

                                                                                                                                                                                            0

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

                                                                                                                                                                                              0

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


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

                                                                                                                                                                                                0
                                                                                                                                                                                                явное сравнение, просто оно является частью оператора перехода

                                                                                                                                                                                                У автора по сути то же самое, только он плохо сформулировал что делает команда.

                                                                                                                                                                                                  0

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

                                                                                                                                                                                                    0
                                                                                                                                                                                                    что-то не так

                                                                                                                                                                                                    Даже не что-то, а конкретно: плохо выбранное имя команды.

                                                                                                                                                                            0
                                                                                                                                                                            Как это разглядеть обратно?! Мои глаза… Такого вброса давно не было. Хотя на первое апреля самое то!
                                                                                                                                                                              +1

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


                                                                                                                                                                              Делать что-то "такое себе" на Pascal не круто, даже для учебного пособия.


                                                                                                                                                                              Как вариант возьмите Python и переведите конструкции на русский + плагин для подсветки кода. Дёшево и сердито, может получить распространение в школах на волне импортозамещения ;)

                                                                                                                                                                                0
                                                                                                                                                                                Видимо автор хотел самопиара и в какой-то степени это ему удалось…
                                                                                                                                                                                  0
                                                                                                                                                                                  Мне нравится, что пиар продолжается, несмотря на то, что меня отхабрили :)
                                                                                                                                                                                    0
                                                                                                                                                                                    Как говорил Дали: «Главное, чтобы про меня говорили. Пускай плохо, но пускай говорят»…