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





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

Переменные не надо объявлять, так как при первом обнаружении переменной в листинге программы интерпретатор автоматически создаст с таким именем переменную типа 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. На перспективу:
— Механизм массивов.

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

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

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

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

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

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

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

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

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

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

  • 84,8%нет445
  • 13,5%да, и сделать проект открытым71
  • 4,2%да, и сделать проект закрытым22

Вы можете помочь и перевести немного средств на развитие сайта



Комментарии (232):

  1. surVrus
    /#21334270 / +3

    Какова цель написания этого языка?
    Пока это мне не понятно, поэтому мое мнение — развивать его не стоит.
    Кстати цель — существительное. То есть «развитие языка» — это не цель.
    Интерес — цель.
    Настроение — цель.
    Знание — тоже цель.

    • vdem
      /#21334708 / +1

      Какова цель написания этой статьи? Минусов огрести? Чушь какая-то.

    • justhabrauser
      /#21334968

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

    • cccco
      /#21337668

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

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

      • surVrus
        /#21341142

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

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

    • NuShaman
      /#21340362

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

      • Zenitchik
        /#21340788

        простая среда разработки

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

  2. yurisv3
    /#21334274 / +7

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

    (камраду ниже: блестяще! ХРЯК-ХРЯК и в продакшн! определенно нам этого не хватало)

    • x893
      /#21334304 / +7

      ХРЯК
      Хороший Русский Язык Кодирования
      СВИНЯРА
      Совершенно Великолепный И Новый Язык Русских Алгоритмов

      • APaMazur
        /#21337940

        Как же хорошо, что он не удмуртский, например…

    • vilgeforce
      /#21334326 / +7

      Хороший Универсальный Язык Кодирования ;-)

      • tuxi
        /#21334468

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

      • kuza2000
        /#21335732

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

        • vilgeforce
          /#21335748

          Скажите спасибо автору ХРЯК'а, он меня вдохновил ;-)

          • kuza2000
            /#21336254

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

    • Akon32
      /#21334390 / +1

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

      • Aquahawk
        /#21334414 / +2

        Там бы подошёл Лучший Язык Программирования

  3. lair
    /#21334288 / +8

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


    • задачи
    • обоснования необходимости
    • примеров конструкций
    • примеров кода
    • исходников

    • NuShaman
      /#21335098 / -1

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

      • lair
        /#21335114 / +1

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

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


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


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

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


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

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

      • vdem
        /#21335144

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

        • lair
          /#21335174

          Мне это как-то не мешало от слова совсем — запоминать сочетания букв латиницы.

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

      • RouR
        /#21335182 / +1

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

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

        • NuShaman
          /#21335196

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

          • lair
            /#21335214

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

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

          • RouR
            /#21335218

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

            • playermet
              /#21335228

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

              • ilyapirogov
                /#21335754

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


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

                • NuShaman
                  /#21336016

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

                  • Akon32
                    /#21336128

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

                    • Grey83
                      /#21337780

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

                    • tvr
                      /#21341068

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

                      И линейкой током по пальцам бить.

          • APaMazur
            /#21337982

            Я уже вижу программы с кодом
            здарова
            зафигачь мне массив
            и шоб по красоте
            харе э

        • leschenko
          /#21336316

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

      • APaMazur
        /#21337966

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

        • NuShaman
          /#21339344

          На РЯП можно писать чистой латиницей, не вопрос! А потом ту же программу переписать чистой кириллицей, или просто автоматически странслировать из латиницы в кириллицу.

          • Zenitchik
            /#21339742

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

            • NuShaman
              /#21340330

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

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

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

              • Zenitchik
                /#21340804

                философия языка программирования

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


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

                • NuShaman
                  /#21351794

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

                  • Zenitchik
                    /#21352168

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


                    SoloTable

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

              • lair
                /#21341002

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

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

              • Akon32
                /#21343860

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

                Но ведь… Си проще паскаля. В паскале дикое количество вариантов массивов, массивы, индексируемые типом-диапазоном или перечисляемым типом, или каким-нибудь 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. Это хорошие, простые, распространённые языки, с ними больше шансов на успех.

  4. AndreyUA
    /#21334292 / +2

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

    • zagayevskiy
      /#21334640

      Очевидно же, его не смогут читать враги. Слышали байку, как американские шпионы офигевали в русских НИИ, видя вместо привычных х(икс) — щ(ща)?

    • NuShaman
      /#21335116 / -1

      конструкцию «если» можно написать как «if», начало — begin, цикл — cycle. Преимущества: простота, интерпретируемость, относительно быстрая реализация интерпретатора под любую платформу.

      • PashaWNN
        /#21346576

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

  5. lair
    /#21334314 / +1

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

    Дадада.


    color = 'red'
    print(colour)

    Удачи.

    • Aquahawk
      /#21334382

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

      • lair
        /#21334420

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

    • phaggi
      /#21334582 / +2

      name colour is not defined

      • lair
        /#21334858

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

    • zagayevskiy
      /#21334704 / +1

      Возможно, если написать наоборот(сначала colour, a потом color), то оно даже сработает как ожидалось. Ведь заявлена адовая фича

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

      • playermet
        /#21334906

        Этопять, ящитаю.

        startNuclearStrike = false
        ...
        clear = true
        ...
        if (startNuclearStrike) {
          // enjoy armagedon
        }
        

        • yarric
          /#21337286

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

          • playermet
            /#21337298

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

    • Zenitchik
      /#21335846

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

      • NuShaman
        /#21336004

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

        • SerjPeleng
          /#21336466

          с Double очень легко обжечься… это формат с плавающей запятой, что ведет к проблемам округления… например:
          вот в таком цикле

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

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

          лучше используйте Decimal

        • playermet
          /#21336482

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

          • Zenitchik
            /#21336508

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

            • SerjPeleng
              /#21336924

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

              • Zenitchik
                /#21338086

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

                • SerjPeleng
                  /#21339524

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

                  • Zenitchik
                    /#21339760

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

                    • SerjPeleng
                      /#21340104

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

                      • Zenitchik
                        /#21340822

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


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

        • lair
          /#21337732

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

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

      • lair
        /#21337730

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

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

        • Zenitchik
          /#21337928

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

          • lair
            /#21337936

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

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

            • Zenitchik
              /#21337996

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

              • lair
                /#21338006

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

                • Zenitchik
                  /#21338054

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

                  • lair
                    /#21338132

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

                    • Zenitchik
                      /#21338272

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

                      • lair
                        /#21338338

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

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

                        • Zenitchik
                          /#21338396

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

                          • lair
                            /#21338412

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

                            • Zenitchik
                              /#21338590

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

                              • lair
                                /#21340998

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

  6. vilgeforce
    /#21334322 / +3

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

    • NuShaman
      /#21351584

      Сложно написать интерпретатор Си под систему DOS (ну или под BIOS).
      А вот интерпретатор РЯП написать под DOS уже на порядок легче.
      То есть DOS, Linux, Java, промышленные контроллеры — это будущие кандидаты на реализацию интерпретатора РЯП.

      • vilgeforce
        /#21353898

        DOS умер, он никому не нужен (как и новый язык программирования)

        • NuShaman
          /#21358490 / +1

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

          • vilgeforce
            /#21358496

            Правильно, кстати, писать «РуССкому Народу»

          • lair
            /#21358610

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

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

      • lair
        /#21354320

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

  7. EvgenT
    /#21334340 / +2

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

  8. FreakII
    /#21334388 / +4

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

    • justhabrauser
      /#21334802

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

  9. tuxi
    /#21334396 / +1

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

    • Aquahawk
      /#21334426 / +2

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

      • tuxi
        /#21334448

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

      • baldr
        /#21334450 / +2

        тогда еще и «а если найду»

        • tuxi
          /#21334474

          Это будет зарезервированное название фнукции у GC встроенного

    • freiman
      /#21334522 / +1

      Это уже больше на КЯП похоже (Кошерный Язык Программирования)

      • shurutov
        /#21360118

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

    • tvr
      /#21334664

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

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

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

    • sav13
      /#21335278

      И оператор безусловного перехода
      «иди на ...»

      • NuShaman
        /#21335318

        не, не! Эдгар Дейкстра против оператора GOTO!

        • sav13
          /#21335730

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

        • shurutov
          /#21338312

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

          • Grey83
            /#21339260

            это скорее «брось каку»

          • NuShaman
            /#21339298

            а вот и код, выполняющий функционал конструкции break:

            начало
            какой-то код
            если остаток
            цикл = 0
            цикл цикл

            • lair
              /#21341006

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

              • NuShaman
                /#21342044 / -1

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

                если
                заворачивать.

                • lair
                  /#21342212

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


                  Но зачем?

                  • NuShaman
                    /#21347860

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

                    • SandroSmith
                      /#21348524 / +1

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

                    • lair
                      /#21348650

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

                      • NuShaman
                        /#21351460

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

                        • lair
                          /#21351524

                          мне просто писать на РЯП.

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


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

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


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

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


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

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

                        • Zenitchik
                          /#21351704

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

                          Секунд.


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

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

  10. baldr
    /#21334404

    Уже есть же РЯП++ и Азъ

  11. Akon32
    /#21334430

    Начал разработку русского языка программирования.

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

  12. Materializator
    /#21334486 / +1

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


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

    • tvr
      /#21334758

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

      Fuzzy logic!

    • pda0
      /#21334870

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

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

    • Akon32
      /#21334944

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

      • mafia8
        /#21335826

        Смотрите. Вам видно, что пока они — рабы логики, а этот человек на холме пришел их освободить. (с) Я, робот.

    • ErnestMiller
      /#21335020

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

    • APaMazur
      /#21338002

      Обязательно нужны «НЕНУАЧО» и «ПОФИГ И ТАК ПОЙДЕТ»

      • lair
        /#21338010

        ПОФИГ И ТАК ПОЙДЕТ

        ON ERROR CONTINUE

    • SandroSmith
      /#21348554

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

      Очепятка от бога. Ну или не очепятка…

  13. alcanoid
    /#21334500 / +1
  14. proton17
    /#21334510

    православные операторы будут?

    • justhabrauser
      /#21334840

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

      • Nialpe
        /#21335184

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

      • Mr_Rm
        /#21337410

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

        • justhabrauser
          /#21337628

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

          • freiman
            /#21337916

            И на линухе не запустится, там же демоны…
            А уж про FreeBSD можно даже не заикаться.

  15. AnotherFromSirius
    /#21334534 / -1

    Неплохая идея.

  16. dvserg
    /#21334564

    Интересно будет произведения русских классиков скомпилировать на таком языке.

  17. mistergrim
    /#21334598

    Эх, скука
    Нет духа старого Кащенко okante.narod.ru/D

  18. 402d
    /#21334600

    Вы не пробовали программировать на 1С?
    Переменные не надо объявлять — плюсы и минусы яву со строгой типизацией данных.
    Собственно ядро языка это наверное 5%. Остальную популярность ему обеспечивает наличие готовых библиотек и фреймворков.
    В принципе написание своего парсера выражений или семантического разбора замечательная практика для студента. вполне тянет на тему диплома.
    А вот дальше чем хобби в 99.9999% не пойдет.

  19. Serge78rus
    /#21334604

    Вы несколько опоздали: гранты на создание «национального языка программирования» попилили еще в 2016 году.

  20. expertykt
    /#21334620

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

    • NuShaman
      /#21351702

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

  21. rogoz
    /#21334662

    Классика

  22. Telmah
    /#21334694

    под Bolgenos работать будет?

    • NuShaman
      /#21351744

      На данный момент интерпретатор РЯП выполняется лишь в семействе операционных систем «Microsoft Windows», начиная с «Windows 7» и выше.
      Планируется реализация интерпретатора под системы «Linux Debian» и «Linux Ubuntu».

  23. Jogger
    /#21334922

    Боже, а самое вкусное-то по ссылке!

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

    • kesn
      /#21335238

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

    • Baigildin
      /#21335296

      О боже :D. Он немного поторопился. Запости через месяц, купался бы в плюсах.

    • berez
      /#21335302

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

      • 0xd34df00d
        /#21337148

        Скрытый текст

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

        • eugenk
          /#21338996

          Млять!!! Только хотел именно этот стиш сюда запостить и у Вас увидел!!! НЭКАРАШО чужой мисли чэтать! :))))))

  24. LibrarianOok
    /#21335062

    Ну, что сказать — забавно. Пожалуй я знаю ответ на вопрос «зачем», и куда развивать. Сначала ссылка: ifiction.ru Есть такая штука — интерактивная литература. Думается, на этом поприще РЯП может снискать себе известность, будучи допиленным до юзабельного состояния. Для использования в качестве языка программирования интерактивной литературы, необходимо будет реализовать в интерпретаторе РЯП функции загрузки и сохранения, поддержку графики, работу со звуком, создание элементов GUI и т.д.

    • lair
      /#21335072

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

      • LibrarianOok
        /#21335166

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

        • lair
          /#21335172

          уже давно ноет о том, что вот у англоязычных авторов есть Inform

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


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

          • LibrarianOok
            /#21335198

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

            • lair
              /#21335210

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

              • LibrarianOok
                /#21335270

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

                • lair
                  /#21335280

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


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

  25. zmeysss
    /#21335202

    Уже 5 минут пытаюсь понять: автор вбросил или серьезно?

    • NuShaman
      /#21335364

      я вбросил и, похоже, серьезно вбросил :)))

  26. gozhiy
    /#21335204

    Учил в институте (КПИ, ~ 78 год) язык «АЛМИР» (https://ru.wikipedia.org/wiki/%D0%90%D0%9B%D0%9C%D0%98%D0%A0-65). Там как раз все было имено на русском.

    • playermet
      /#21335268

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

  27. amarao
    /#21335292 / +1

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

  28. dss_kalika
    /#21335294

    Почему бы не перевести существующий да и всё? )

  29. rezdm
    /#21335518

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

    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

  30. Almatyn
    /#21335866

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

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


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

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

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

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

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

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

    • NuShaman
      /#21335942

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

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

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

  31. Zenitchik
    /#21335880

    число mod цикл2

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

    • Mike_soft
      /#21335966

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

    • NuShaman
      /#21335976

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

      • Mike_soft
        /#21336058

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

        • Materializator
          /#21336682 / +1

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

        • NuShaman
          /#21339412

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

          • pewpew
            /#21345086

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

            • Zenitchik
              /#21346150

              запретить Японцам, например писать на РЯП

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

      • lair
        /#21337746

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

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


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

        • Zenitchik
          /#21338026

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


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

          • lair
            /#21338128

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

            • Zenitchik
              /#21338284

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

              • lair
                /#21338348

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

                • Zenitchik
                  /#21338422

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


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

                  • lair
                    /#21338476

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

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

                    • Zenitchik
                      /#21338620

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

                      • lair
                        /#21341012

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

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

                        • Zenitchik
                          /#21342268

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

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

                          • lair
                            /#21342294

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

                            • Zenitchik
                              /#21342302

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

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

                              • lair
                                /#21342414

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

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


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

                                • Zenitchik
                                  /#21342434

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

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


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

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

                                  • lair
                                    /#21342474

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

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

                                    • Zenitchik
                                      /#21342502

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

                                      • lair
                                        /#21342512

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

                                        • Zenitchik
                                          /#21342530

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


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

        • NuShaman
          /#21339470

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

          • lair
            /#21341014

            Это еще хуже.

            • Zenitchik
              /#21342286

              Это еще хуже.

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

              • lair
                /#21342296

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

              • playermet
                /#21343532

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

                • Zenitchik
                  /#21346310

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

                • NuShaman
                  /#21347850

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

                  • lair
                    /#21348654

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

                    • Zenitchik
                      /#21349566

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

                      • lair
                        /#21349576

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


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

                        • Zenitchik
                          /#21349666

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

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

                          • lair
                            /#21349732

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

                            • Zenitchik
                              /#21350486

                              что-то не так

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

  32. Mixalych
    /#21336052

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

  33. ideological
    /#21336064

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


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


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

  34. kgenius
    /#21337096

    Видимо автор хотел самопиара и в какой-то степени это ему удалось…

    • NuShaman
      /#21352652

      Мне нравится, что пиар продолжается, несмотря на то, что меня отхабрили :)

      • kgenius
        /#21352736

        Как говорил Дали: «Главное, чтобы про меня говорили. Пускай плохо, но пускай говорят»…

      • Zenitchik
        /#21354488

        отхабрили

        Рано страдаете. ±5 баллов — обычные колебания кармы в процессе хабражизни.

  35. lair
    /#21337726

    Кто-то никак не хочет отлипнуть от английского языка
    ЛИнверт

    Да, кто-то никак не хочет.

  36. lair
    /#21337760

    Вот код для вычисления простых чисел

    Первый же вопрос к этому коду: начало чего?

    • NuShaman
      /#21339352

      начало — это конструкция языка, с которой начинается тело цикла.

      • lair
        /#21341018

        И зачем нужен дизайн языка в котором возникает такой вопрос? Почему нельзя написать начало цикла или просто цикл?

  37. shurutov
    /#21338352

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

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

  38. VMarkelov
    /#21340082

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

    Хм. А почему тогда «остаток0 = число mod цикл2», а не «остаток0 = число остаток цикл2»? А также, почему «and (битовое И), xor (битовое исключающее ИЛИ), or (битовое ИЛИ)» — это всё ещё на английском?

    Ну и дополнительный вопрос: с первых классов, думаю, учеников учат, что по-русски целая часть от дробной отделяется запятой. Будет ли русский язык программирования следовать русским нормам? Иначе, особо учитывая уже существующие or/xor/and/mod какая-то химера выходит.

  39. xMushroom
    /#21348780

    3) Кто-то никак не хочет отлипнуть от английского языка.
    Наверное, и шпрехает только на английском, используя слова типа стартап, коммит, заклозь, лайфхак, гамбургер, свитшот.

    А как гамбургер будет на русском? «Жирный и богатый холестерином богомерзкий каравай»?

    • tvr
      /#21349216

      А как гамбургер будет на русском?

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

      • xMushroom
        /#21350360

        Неа:

        Бутерброд с котлетой
        image

        • tvr
          /#21350618

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

          • xMushroom
            /#21351010

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

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