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

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

Но раскидав исходники по знакомым, получил неутешительный фидбэк: читать трудно! Встал дурацкий вопрос: как это должно выглядеть в коде, чтобы было удобно? Я набросал 4 варианта синтаксиса — от LISP-стиля до почти Python - нотации. У каждого есть плюсы и минусы, и я уже неделю не могу выбрать.

Т.к. язык русскоязычный, все варинаты сделаны так, чтобы в процессе кодинга не пришлось переключать раскадку. Для некоторых действиет правило:
- `фун(эл1 эл2)` символ без пробела перед скобкой - значит вызов функции
- `(эл1 эл2)` нет символа без пробел перед скобкой - значит список

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

Если заинтересовал проект - уже сейчас доступна playground площадка для экспериментов
http://marka-lang.ru/playground.php

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


  1. rsashka
    13.08.2026 11:45

    я уже неделю не могу выбрать

    Еще немного сталось :-)


  1. Void-Cowboy
    13.08.2026 11:45

    а чем вас 1С не устраивает с таким подходом?

    на нем вроде даже GUI и мультиплатформа есть


    1. m_chrom
      13.08.2026 11:45

      Я не автор, но думается мне, не нравится он одним фатальным недостатком ))


    1. pantagruel74 Автор
      13.08.2026 11:45

      Закрытый код, проприетарность, мутации переменных, громозкий синтаксис, нет возможности разрабатывать через REPL


      1. DMGarikk
        13.08.2026 11:45

         громозкий синтаксис

        Это у 1Сто который срисовали с бейсика с оглядкой на яву? глядя на ваши скриншоты - это как раз у вас синтаксис еще учить надо и объяснять себе - почему тут именно так, а не как у всех

        нет возможности разрабатывать через REPL

        а зачем? (странный вопрос, но в принципе)


        1. pantagruel74 Автор
          13.08.2026 11:45

          REPL + тайпчекинг вместе дадут очень-очень быструю обратную связь при разработке. Что здорово бустанет скорость разработки. А если ИИ еще правильно к этому прикрутить - вообще бомба будет. По крайней мере в мечтах :)


      1. qvvah
        13.08.2026 11:45

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


        1. Neyrobute
          13.08.2026 11:45

          Зачем тогда столько разных ЯП на латинице, если уже есть условный Бэйсик?


          1. qvvah
            13.08.2026 11:45

            Латинских ЯП десятки и очень многие из них активно используются в самых разных сферах. Из кириллических ЯП к успеху пришёл только единственный 1С (и в школьном образовании, местами, - Кумир, активно вытесняемый Pascal и Python), думаю преимущественно через монополию в своей сфере. Было бы логичнее именно его и развивать, а не создавать ещё один.


            1. rsashka
              13.08.2026 11:45

              Вы не правильно расставляете акценты.

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

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


              1. qvvah
                13.08.2026 11:45

                Я ровно это и написал: 1С пришёл к успеху из-за своей монополии. Что до синтаксиса, проголосовал за вариант 4: чем меньше скобок - тем лучше читаемость. Сам долго отучался от избыточных (((( )))), мне казалось что они добавляют "конкретности", уверенности в том что интерпретатор/компилятор поймёт код правильно, но когда их >=3 подряд - это перебор.


      1. akabrr
        13.08.2026 11:45

        У 1С есть ещё один язык - Элемент. С типизацией и функциональщиной и т.д..


    1. Druzd
      13.08.2026 11:45

      что за наезды на 1С?! Тебе бухгалтерия выдаёт зарплату каждый месяц на языке 1С, а ты вот так вот (((


      1. DMGarikk
        13.08.2026 11:45

        (для зарплаты не обязателен 1С)

        ...

        ну 1С объективно не любят в ИТ среде (и зря кмк, как инструмент для своей цели он очень удобен)


  1. DMGarikk
    13.08.2026 11:45

    1) Зачем еще один язык? чтобы те кто с ним столкнется - выкинул код на нем написанный и переписал на том что все (и он) знают?

    2) Почему русский? мало возможности переменные по русски называть во всех современных ЯП? очередной раз создать мертворожденный продукт который еще дополнительно закопать уходом от латиницы? мало вам хейта 1Сного поделия по этому вопросу?


    1. pantagruel74 Автор
      13.08.2026 11:45

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

      2. У 1С не русскоязычность главная проблема, на мой взгляд. А возможности писать на русском в популярных ЯП, но сломав что-то важное патчами, дейсвительно нехватает.. ИМХО


      1. DMGarikk
        13.08.2026 11:45

        Потому что существующие решения не подходят под мое идеальное видение, "каким должен быть ЯП чтобы делать большие системы, писать лаконично, малыми силами, надежно и быстро" по нескольким параметрам

        это хорошо, но язык с чисто-таким подходом так и останется в виде статьи на хабре и паре ваших проектов

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

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

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

        то что у популярных ЯП чёто отваливается от UTF кода, я согласен (почему я всегда буду против тех кто пытается на яве-питоне-шарпе-ещегдето по русски писать).

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

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

        ===

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


      1. unclegluk
        13.08.2026 11:45

        Если у вас есть ваше идеальное видение ЯП, то зачем спрашивать чье-то мнение?


      1. StrongerProgrammer7
        13.08.2026 11:45

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


        1. MasterPoni
          13.08.2026 11:45

          А зачем вообще знания английского для программирования?


          1. Vydra77
            13.08.2026 11:45

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


      1. Einherjar
        13.08.2026 11:45

        писать лаконично

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

        Кстати, в голосование забыли добавить пункт "ни один"


    1. cssru
      13.08.2026 11:45

      Просто мама подарила на Рождество книжку "Компиляторы")


  1. Lampadov
    13.08.2026 11:45

    Автор является товарищем майором. Все, кто в комментариях высказывается против ЯП на русском, уезжают в отпуск


  1. Emulyator
    13.08.2026 11:45

    Чем не устроил просто русский? )


  1. rsashka
    13.08.2026 11:45

    1. Lucifurry
      13.08.2026 11:45

      Спасибище. Порой полезно заглядывать на проходные статейки на Хабре ради таких годных наводок в комментариях)


  1. lostero
    13.08.2026 11:45

    Создатели ЯПшек, зачем вам доп. символы перед функциями? Сигнатура функции же ф()|ф(p0:t0 p1:t1) или ф:|ф:p0:t0 p1:t1: и т.п.. Если сигнатуры не пересекаются с другими объявлениями, то зачем специально указывать, что это функция? Для простоты компилятора есть C , для вырвиглазного синтаксиса есть Rust , а зачем вот это вот всё? Всегда не мог понять, зачем люди усложняют жизнь другим людям при разработке синтаксиса ЯП? Возьмите стандартную раскладку, попробуйте понабирать спецсимволы и удалите все, что требуют слишком много странных движений (оставшийся набор станет очень мал). Строго типизированный ЯП точно не взлетит, т.к. к удобству набора кода они имеют околонулевое отношение. Большинство типов переменных легко вычисляется на основе использования в коде. Подсветку таких типов и их несоответствие можно убрать в LSP. Т.е. мин. информации и писанины в тексте и макс. информации с LSP.

    Ещё, заглавные и строчные во встроенных элементах ЯП - зло. Либо всё одним, либо только строчные.

    Всем читающим - не плодите сущности, пожалуйста.


    1. DMGarikk
      13.08.2026 11:45

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

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

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

      хотя по началу "ой как удобно, оно всё само понимает"


      1. lostero
        13.08.2026 11:45

        Так я про то, что объявлять их обычно не нужно. Напр., объявлена функция или переменные с типами. Либо всё соответствуют по вычисленным типам, либо нет. Это LSP и компилятор вычислят и поймают. Зачем программисту это постоянно прописывать?

        А писать их везде явно - бред, LSP вам в помощь и не болейте C++ портянками шаблонов.


      1. pantagruel74 Автор
        13.08.2026 11:45

        Согласен со всем вышесказанным. Попробуй без статической типизации проект на 300 таблиц прорефакторить... Чудо если пару дней что-то еще работать будет..


    1. Vladislav_Dudnikov
      13.08.2026 11:45

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

      И ладно с функцией, её довольно просто распознать, но что, например, по поводу переменных и compile-time констант, как их отличать предлагаешь? А ещё становится сложно отличить объявление от присвоения, да есть известные сигилы ":=" и "=", но, опять же, это повышает когнитивную нагрузку и усложняет некоторые реализации, та же volatile-переменная или отложенная инициализация. Ну и это всё усложняет и замедляет парсер. Если язык нацелен на большие кодовые базы, то это становится более критично.

      По поводу того, что "есть Си" и "есть Rust" - на них мир клином не сошёлся, создателям Rust тоже можно было сказать в своё время, есть же Cyclone, вы чё. Поскольку производные Си продолжают появляться и получать популярность, значит потребность есть (из относительно известных - Zig, Hare, Nim, Odin).


      1. lostero
        13.08.2026 11:45

        С LSP можно вставлять доп. элементы отображения, о чём я и писал. Набирать меньше, видеть больше.

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

        Я про простоту реализации компилятора для синтаксиса C и вырвиглазный синтаксис Rust с его переусложнённым компилятором. Все ЯП имеют опр. цели и из поста мне непонятно, что за объективные цели у данного ЯП раз разработчик волнуется о синтаксисе.


        1. pantagruel74 Автор
          13.08.2026 11:45

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

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


          1. randomsimplenumber
            13.08.2026 11:45

            Быстрая обратная связь между чем и чем имеется в виду?


          1. 1024rk
            13.08.2026 11:45

            Если у проекта объективные цели - недостижимые, то заниматься им нет смысла.

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


        1. Vladislav_Dudnikov
          13.08.2026 11:45

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

          Ну так или иначе, я описал своё видение для чего все эти ключевые слова, не настаиваю.


      1. rsashka
        13.08.2026 11:45

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


    1. pantagruel74 Автор
      13.08.2026 11:45

      Полностью согласен. но согласиси, в голосовании lisp - не в топе.. Да и парсинг ускорить иногда - надо. Поэтому надо искать какой-то компромисс...


  1. rsashka
    13.08.2026 11:45

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

    Типизация языка не имеет отношения к удобству набора кода или к подстветке синтаксиса. Это никак не связанные между собой понятия.


    1. lostero
      13.08.2026 11:45

      Ошибся, имел в виду явное объявление типов


  1. anonymous
    13.08.2026 11:45


    1. pantagruel74 Автор
      13.08.2026 11:45

      Благодарю! Согласен со многим вышесказанным.

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

      А знаки вопроса - это булевы да/нет


    1. rSedoy
      13.08.2026 11:45

      Устойчивый запах ответа от LLM и ТС даже ведется на такое.


      1. pantagruel74 Автор
        13.08.2026 11:45

        Ну ЛЛМ-ка - ЛЛМ-кой, а вывод - не худший, из всех прозвучавших выше..


  1. jojozuka
    13.08.2026 11:45

    ещё один...


  1. bestuzheff
    13.08.2026 11:45

    А правда для его еще один язык? Просто попробовать свои силы?

    Если просто нравится писать на русском есть 1С Предприятие Элемент

    А если еще хочется и опенсорс то есть https://oscript.io/


  1. Timures
    13.08.2026 11:45

    Интересно а Северной Корее тоже свой язык программирования?

    Как будто готовитесь к чему то нехорошему


  1. nin-jin
    13.08.2026 11:45

    Лучше формат Tree использовать. Например:

    Операторов всего несколько:

    • ! - объявить имя для некоторого вычисления с опциональными параметрами.

    • = - вычислить результат по имени с передачей именованных или позиционных аргументов.

    • ? - объявить параметр с именем и опциональным типом.

    • : - объявить тип параметра.


    1. nin-jin
      13.08.2026 11:45

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


  1. nikolay-ermolenko
    13.08.2026 11:45

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


    1. randomsimplenumber
      13.08.2026 11:45

      На языке жестов.


  1. Druzd
    13.08.2026 11:45

    Один только хейт. Автор лисапед изобретаем в свои юные годы, а все фТопку. Занимайся автор своим пер проектом, набьешь шишек. После будет озарение - где тут кнопку удалить все? Зато сколько опыта!!! Да прибудет с тобой сила, юный джедай!


  1. fire64
    13.08.2026 11:45

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

    Почему в 1С я читаю русский код и он адекватный или когда читаю C, C#, C++ там тоже понятно, но вот ваш код тяжело читать.


  1. Procher
    13.08.2026 11:45

    Выражу своё субъективное мнение, за которое вероятно могут как закидать какашками, так и вознести в лик святых:

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


  1. Rerium
    13.08.2026 11:45

    Попробуй посмотреть на си-подобный синтаксис или как у java. Все варианты довольно не читабельные...

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


  1. pintor
    13.08.2026 11:45

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

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


    1. randomsimplenumber
      13.08.2026 11:45

      Еще и специальную раскладку учить..


      1. Ndochp
        13.08.2026 11:45

        А что ее учить? Ставим английские спецсимволы на правый альт, исключения - 1, 9, 0 - единица за то что рядом с тильдой и у нее одинаковый восклицательный знак в рус/лат, 9 и 0 - за то, что тоже скобки. (ну и в рус/лате совпадают)

         ё 1 2 3 4 6 7 9 0 х ъ \ б ю 
         ` ~ @ # $ ^ & { } [ ] | < >
        

        по вкусу добавить NULL Json XDTO XML HTML на буквы.

        (а, я понял, вам раскладка нужна на ключевые слова конкретного языка и стандартную библиотеку? моя заточена на 1С/русскоязычный ЯП в котором все равно нужны спецсимволы широкого набора)


  1. Grey6000
    13.08.2026 11:45

    В плане синтаксиса следует обратить внимание на https://github.com/tsoding/good_training_language не смотря на то что это 1 апрельская шутка, автор проделал серьезную работу в плане синтаксиса яп на русском языке, так чтобы минимизировать переключение раскладки


    1. dmchmk
      13.08.2026 11:45

      ни дня без базы от тсодинга, спасибо)


  1. aamonster
    13.08.2026 11:45

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


  1. taliano
    13.08.2026 11:45

    быстро накидать фичу и не думать о запятых

    Покушение на святое.

    ; в конце строки это вообще лучшая часть работы.


    1. randomsimplenumber
      13.08.2026 11:45

      быстро накидать фичу и не думать о запятых

      Казнить нельзя помиловать enter аминь.


  1. Artzver
    13.08.2026 11:45

    Здарова. Не особо шарю за языки программирования. Помню только C++ с универа че-то как-то. Но, короче, мне больше понравился 4 вариант. Чище для глаза, удобнее читать, меньше всяких скобок и прочего.


  1. tenzink
    13.08.2026 11:45

    Поскольку критериев выбора синтаксиса у вас всё равно нет, то рекомендую посмотреть ещё в одну сторону. Самый красивый синтаксис который я видел, это в семействе ML-языков (Ocaml, Standard ML of New Jersey) или на худой конец в Haskell


    1. pantagruel74 Автор
      13.08.2026 11:45

      Согласен! Но проблема в ML-like и в C-like синтаксисе, что для программирования на русском, придется раскладку на каждом стейтменте пререключать.. Поэтому улыбаемся и импровизируем :)


      1. Ndochp
        13.08.2026 11:45

        Править ее надо, а не переключать. В типовой раскладке на слое AltGR в русском символа 3 всего кажется. Рубль, копирайт и кажется что-то еще.


      1. tenzink
        13.08.2026 11:45

        Русский язык - отдельное спорное решение.

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

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

        И тут уже кто-то приводил аргумент, что язык математики не локализуют (синус, интеграл, и т.п.). Мне симпатична такая аналогия


      1. tenzink
        13.08.2026 11:45

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

        ; Даны два массива целых чисел произвольной длины.\
        ; Найди их пересечение с учётом повторяющихся элементов.\
        ; Порядок элементов в результате не важен.\
        ;
        ; Первый массив: [1, 2, 3, 2, 0, 2]
        ; Второй массив: [5, 1, 2, 7, 3, 2]
        ; Результат: [1, 2, 2, 3]
        
        подключи список
        подключи математику
        
        функция возьми_первый_массив(): список[целых] = (
            (1 2 3 2 0 2)
        )
        
        функция возьми_второй_массив(): список[целых] = (
            (5 1 2 7 3 2)
        )
        
        функция выполни(): список[целых] = (
            функция найди_общие_значения(): список[целых] = (
                верни (
                    возьми_первый_массив()
                    |> список.оставь_без_повторов()
                    |> список.пересеки_с(
                        возьми_второй_массив()
                        |> список.оставь_без_повторов()
                    )
                )
            )
        
            функция посчитай_вхождения(
                значения: целое
                в_массиве: список[целых]
            ): целое = (
                верни (
                    в_массиве
                    |> список.оставь(
                        функция проверь(
                            элемент: целое
                            по_индексу: целое
                        ): логическое = (
                            элемент = значения
                        )
                    )
                    |> список.посчитай()
                )
            )
        
            функция сопоставь_значения_с_кратностью():
                список[пар[целых]]
            = (
                верни (
                    найди_общие_значения()
                    |> список.преобразуй(
                        функция сопоставь(
                            значение: целое
                            по_индексу: целое
                        ): пара[целых] = (
                            (
                                значение
                                математика.выбери_меньшее(
                                    посчитай_вхождения(
                                        значения: значение
                                        в_массиве: возьми_первый_массив()
                                    )
                                    посчитай_вхождения(
                                        значения: значение
                                        в_массиве: возьми_второй_массив()
                                    )
                                )
                            )
                        )
                    )
                )
            )
        
            верни (
                сопоставь_значения_с_кратностью()
                |> список.сверни(
                    функция добавь(
                        в_результат: список[целых]
                        значение_с_кратностью: пара[целых]
                        по_индексу: целое
                    ): список[целых] = (
                        функция повтори_значение(): список[целых] = (
                            верни список.повтори(
                                значение: значение_с_кратностью[0]
                                раз: значение_с_кратностью[1]
                            )
                        )
        
                        верни список.соедини(
                            в_результат
                            с: повтори_значение()
                        )
                    )
                    начиная_с: ()
                )
            )
        )
        
        выполни()


        1. pantagruel74 Автор
          13.08.2026 11:45

          мне нравится


  1. alcanoid
    13.08.2026 11:45

    А как это всё уберегает вас от написания надоевшего «одинакового бойлерплейта»? Или вы вместо него теперь пишете одинаковые сковородки?


    1. pantagruel74 Автор
      13.08.2026 11:45

      Синтаксис - никак. Другие особенности языка - очень даже помогают.


      1. alcanoid
        13.08.2026 11:45

        Зря эти моменты не раскрыли, а они как раз интересны.


  1. nickmanecannotbeempty
    13.08.2026 11:45

    Не Марка, а Мавка


  1. nickmanecannotbeempty
    13.08.2026 11:45

    Сообщество требует падежей!!! Любой славянский язык без падежей — это дурной тон и попрание святыни. А тем более, русский!!!


    1. artptr86
      13.08.2026 11:45

      Любой славянский

      В качестве контрпримера вам болгарский и македонский


    1. Neyrobute
      13.08.2026 11:45

      Это уже будет смерти подобно


  1. dmchmk
    13.08.2026 11:45

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

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

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


  1. NeoCode2
    13.08.2026 11:45

    Не позорьтесь, сделайте нормальный синтаксис на английском. Вообще не понимаю как русский текст воспринимать в качестве языка программирования. Вы же в математике пишете sin(x) а не синус(ы). Ну и в программировании то же самое. if, else, while, for и т.д. уже стандарт де-факто, они воспринимаются не как английские слова, а именно как абстракции вне какого-либо языка.

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


    1. dmchmk
      13.08.2026 11:45

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

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


  1. YuryZakharov
    13.08.2026 11:45

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

    Читаемости он не добавляет, парсинг не облегчает, целевую аудиторию не расширяет.

    @pantagruel74 , можете ответить?


    1. randomsimplenumber
      13.08.2026 11:45

      Если продать в школу - можно озолотиться.


      1. Ndochp
        13.08.2026 11:45

        Там уже Кумир есть.


    1. Ndochp
      13.08.2026 11:45

      Он добавляет читабельности если бизнес область для которой вы пишете имеет терминологию, не входящую в базовый технический английский. Так как юникодные кирилические переменные позволяет любой язык, но if (НДСКВозмещению > 0){ не читабельно на мой взгляд


      1. YuryZakharov
        13.08.2026 11:45

        не входящую в базовый технический английский

        Хороший эвфемизм для "я не знаю этих терминов".

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

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


        1. Ndochp
          13.08.2026 11:45

          Так если заказчик русский, то терминологию проекта ты худо бедно изучишь, а перевод на английский - нет. И поэтому, чтобы термины в коде были похожи на термины в ТЗ и понадобятся в коде НДСКВозмещению.
          Так как иначе будет все скакать между VAT и NDS.
          ИНН и СНИЛС как например в английский переводить? Транслитом, разложить, перевести каждое слово а потом собрать в аббревиатуру, найти максимально похожий код в англоговорящей стране и использовать его? А если он в США и Англии отличается?


          1. YuryZakharov
            13.08.2026 11:45

            Резонно. Но ограничивает разработчика одним единственным рынком.

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

            Безотносительно темы разговора,

            А если он в США и Англии отличается?

            Он-таки отличается. И лечится это введением более общего термина, в который попадают оба варианта. Как сделано во всяких SWIFT, FIX и прочих.


            1. Ndochp
              13.08.2026 11:45

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


              1. YuryZakharov
                13.08.2026 11:45

                Вы лично планируете всю жизнь работать в этой организации?

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

                Стоит ли оно того - не знаю, поэтому и вопросы задаю, интересно...


    1. pantagruel74 Автор
      13.08.2026 11:45

      Мне казалось что именно для внутренней ЦА может добавить ценности. А по поводу читаемости - рано делать выводы пока не перепробуем все способы имхо..

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


  1. alekssan818
    13.08.2026 11:45

    Сам пишу на Python, и сначала по привычке потянулся к 4-му варианту. Но потом подумал: если делать новый язык, зачем копировать то, что уже есть? Третий вариант видится идеальным балансом — он не пытается казаться Пайтоном, но при этом понятен и приятен для глаз.

    А вот во 2-м варианте использовать знак процента % для типов — спорная идея. Представьте задачу, где нужно посчитать реальный процент от продаж. В коде начнется путаница: один знак % означает тип данных, второй — математическую операцию. На больших проектах (от 5000 строк) это превратится в кашу, поэтому явные слова из 3-го варианта намного надежнее.

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


    1. pantagruel74 Автор
      13.08.2026 11:45

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


  1. Bedal
    13.08.2026 11:45

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


  1. Emulyator
    13.08.2026 11:45

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


    1. pantagruel74 Автор
      13.08.2026 11:45

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


      1. Emulyator
        13.08.2026 11:45

        Ну это одна из главных причин почему русский не очень для программирования, если, например, не хочешь писать "больше" "меньше" вместо "<" ">". Как в вашем языке реализован оператор сравнения?


  1. 1024rk
    13.08.2026 11:45

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

    Это очень. Плохая. Идея. Всегда.


  1. AlexAiZzz
    13.08.2026 11:45

    Если разрабатывается свой язык, то самый первый тест проверить синтаксис это написать на нем же собственный интерпретатор/компилятор.


    1. pantagruel74 Автор
      13.08.2026 11:45

      К этому в идеале и стремимся!


  1. AlexAiZzz
    13.08.2026 11:45

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


  1. Alsig
    13.08.2026 11:45

    Диполь после привычки очень удобен был. Но на уровне оператора ЭВМ, а не программного инженера.


  1. Stanislav_Z
    13.08.2026 11:45

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


  1. tdavud
    13.08.2026 11:45

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