
Комментарии 53
спорили, что лучше: {}, begin/end или отступы. Сфера: конец. Всё. Дискуссия окончена.
Список из текстов
Как-то не вяжется с:
для каждого имя
Список из текстов = string[]
для каждого = foreach
Но это не отменяет того что выглядит это ... странно, не могу найти смайлик "глаза вытекли"
для каждого = foreach
Для каждого окно среди окна? Или для каждого окна среди окон? Как отличить в данном случае окно от окон? В английском window и windows это окно и список окон соответственно. В русском языке окна и (кусок) окна это разные сущности.
Скрытый текст
Вопрос с подвохом, если что. Английский потому и работает настолько хорошо как основа для языков высокого уровня, т.к. он аналитический и изолирующий.
Не нужно сильно заморачиваться с токенизацией и вычленением смысла из этого, т.к. язык уже зависит от того какие слова и в каком порядке пишут (аналитический) и не блещет производством новых слов методом добавь суффикс и измени окончание, получи новое значение (изолирующий.)
Вы же понимаете что когда вы определяете метод findById(), то это звучит как определяем метод "найти_по_идентифкатору()", а когда вы вызываете метод findById() у объекта, то это фактически повелительное наклонение, адресованное объекту, т.е. "найди_по_идентифкатору()"?
А теперь представьте как это должно выглядеть в компиляторе для языка, основанного на русском языке.
Это не формальный язык, а какой-то великий секретный слог для гуру, где один из пятидесяти знает как написать так, чтобы оно не упало ещё на моменте лексикосемантического анализа.
Ошибся с падежом - получил ошибку компиляции.
Вообще, учитывая некую грамматическую сложность русского литературного по сравнению с английским, использовать его витееватый слог для программирования - это либо получить 1ц или формулы из русского пакета экселя, либо одно из двух.
интересна кстати мнемоника команд импортозамещенного ассемблера, ненуачо?
ДОБ / ВЫЧ
ДОБП / ВЫЧЗ
СРВ
ЗАГР
СРВН
ПРЫГ / ПРЫГН / ПРЫГБ / ПРЫГБР
СДВЛ / СДВП
ОТР
УМ / УВ
ЗАС / ВЫС
Нормально вяжется. [основное] Имя переменной - существительное в именительном падеже. Можно было бы и для каждого имя гостя написать. Все равно склонять никто не будет.
а в чем ценность языка с русскими ключевыми словами? просто "шоб" было? импортозамещение на максималках?
Ну с учетом сайтов в качестве примера - наверное писать русскоязычные сайты без переключения раскладки в течение дня.
100% ценность - например в обучении детей
да и просто чайнику побаловаться
в обучении детей
А чему дети должны научиться, используя данный ЯП? И чему они не научатся, если будут использовать, я не знаю, ДРАКОН, например?
чайнику побаловаться
«Чайник» может побаловаться и с LLM, как мне кажется.
Обучить их компьютерной логики, пусть вначале увидят как выглядит компьютерная логика, а потом можно и выбрать английский язык и яп. Детей обучают программированию и в маинкрафте так-то, но там язык вообще отличается от яп
В мое время учили на basic. Незнание языка препятствием мне было, в basic ключевых слов меньше, чем в словаре Эллочки-людоедки.
Кому надо - выучились. Кто не выучился, тем не надо.
А вот это вот - я правда не понимаю, зачем. Потом переучиваться на нормальный синтаксис?
Впрочем, вы не первый. Есть, например, 1С.
Как хобби, как "патамушта могу" - да.
Но детям-то за что?
Автор прямым текстом пишет про свой интерес к компиляторам. Человек просто захотел разобраться в LLVM и сделал это) Но если так подумать, то для школьников младших классов такой язык отлично подойдет в качестве первого шага в программирование
Там есть кумир (для совсем младших) и питон.
Есть уже Scratch. Самое главное что эти дети должны усвоить - это необходимость учить английский, а с предлагаемым подходом они и программирование возненавидят, потому что все равно столкнутся с этой необходимостью в будущем. Вы ведь не думаете, что русский язык в программировании кому то нужен?
Не подойдёт. Во всех существующих языках ключевые слова почти одинаковы. И их не так уж много, пара десятков. Если школьник в состоянии усвоить понятие цикла или подпрограммы, то уж выучить пару десятков общепринятых ключевых слов, сможет и подавно. Это лучше чем потом мучительно переучиваться. Идентификаторы и сообщения компилятора на русском - да, имело бы смысл. Но ключевые слова на русском это безусловный вред.
Ещё один "недостаток" русского языка по сравнению с английским - более длинные слова.
Сравните "делать" и "do", "если" и "if". Вроде мелочь но когда кода много...
Есть с чем сравнить.
Мы живём в мире, где всё делится и умножается на 10. Однако есть страны с нестандартными единицами измерения. Футы и фунты могут с ума всех свести. А ещё они таблицу Менделеева придумали не как у Менделеева (зачем?). Я удивлён, что у них доллар - это не 72 цента, - ведь такое было бы в их стиле.
А вот их достижения говорят сами за себя. Парадокс! Эдакая научно-технологическая контрадекватность их не останавливает.
На этом фоне «делать» и «do», «если» и «if» - незначительный лингвистический нюанс...
Это не замена существующим языкам, а интересный эксперимент. Хотелось писать целиком на русском. На сфере можно написать программы под большинство ОС, свой сайт, а на телефоне код можно писать и запускать без компьютера. То есть большой простор для экспериментов. Если для вас это не решает проблему, это нормально, язык не для всех. Но если решает, буду рад, что попробуете.
Тем более, что язык ключевых слов – это наименьшая проблема в программировании из всех возможных. Даже неудобный стул как-то весомее.
Обязательно нужна поддержка падежей, склонений и прочих норм русского языка
Без этого получается такой же "русскоязычный" ЯП, как си с #define
Если у вас есть отступы и нет зарезервированного слова для начала блока, то почему бы не сделать как в питоне, что блок отделяется отступами?
Отступы зло. Мое чувство прекрасного обычно не совпадает с отступами когда начинаются многострочные конструкции в рамках одного выражения. Явные скобки лучше. Здесь явная скобка получается из
Если (условие) текст блока из любого числа строк; конец
Питоновские отступы постоянно ломаются при копировании кусков кода с форумов, явные маркеры конца блока как-то понадежнее будут)
Был выбран вариант со словомконец как раз из-за того, о чём написали Ndochp и Rubiorif, отступы теряются при копировании с форумов и в чатах. Скобки тоже можно, старый синтаксис остаётся рабочим, и есть конвертер между записями. Но принципиальная цель в том, чтобы всё набиралось на русской раскладке.
А чего бы вместо языческого "=" не писать "равно"?
Вообще избавиться от всех этих "+", "-", "/", "*" и т.п. Так будет еще прикольнее. Почти чистый русский язык.
А вместо з.путь - путь из з.
Будем уж последовательны))))))
Еще скобки заменить...
Но прикиньте, как будет клево-то!
функция маршрутизировать открываем целое32 клиент дальше Запрос з закрываем возвращаем целое
текст сегмент равно первый_сегмент открываем путь из з закрываем сброс
текст остаток равно остаток_пути открываем путь из з закрываем сброс
Песня!
Непременно нужна обработка ошибок с применением "поелику".
тут у ребят поинтереснее получилось: https://yopta.space/
А зачем это нужно? В синтаксисе языка используется буквально три слова, все это учится за пару минут даже если человек никогда не знал Английский язык. Это ведь не Шекспира в оригинале читать.
Недостаточно исконно
Ꙗть сїѥ 0;
повторъ {
коль Ꙗть болѣѥ 5 {
Молвить("{}", Ꙗть);
коль Ꙗть болѣѥ {выходъ};
Ꙗть прибавь сїѥ 1;
}
я не понимаю какую проблему это решает? извините - но кроме распила ничего в голову не приходит
Все равно непривычно читать код с русскими ключевыми словами вроде "Список из целых" , глаз постоянно спотыкается о такие длинные конструкции
Боже какой Апокалипсис
Как это страшно выглядит и вырвиглазно
Выглядит неплохо, но если бы я занимался его разработкой, первое, что поменял бы - заменил "конец на фигурные скобки { } как для циклов, так и для функций. Меньше писать и быстрее писать.
Конечно это привычней использовать {} но есть проблема в русской расскладке. Таких символов в ней нет...(
Да, вы правы, как-то сразу об этом не подумал...
Есть способ добавить символы в раскладку и не один.
https://habr.com/ru/articles/1100914/
Повторю не единожды сказанное: грамматика русского языка не подходит для языков программирования. Вообще. Совсем. Никак. Ни в каком формате. Это не будет удобно. Не будет читаемо. Никогда. Ни при каких ухищрениях. У этого языка не будет комьюнити, потому что писать на этом в здравом уме никто не будет. Закопайте стюардессу, не гневите бога.
Я так понимаю, американская нейросеть вырвалась на свободу и ругается на кириллицу, брысь.
Да почему не подходит-то ! Всё прекрасно подходит. Другое дело что смысла в этом ноль. А вообще язык по виду(в стремлении быть похожим на естественный) напомнил cobol. Как мы помним, забылся он довольно быстро.
Учебный был язык в школах. В 80х. Если то иначе всё, алгол?
ЧЕго велосипед изобретать? ИнтерТрепатор и компилятор, вроде, был.
В целом труд автора могу только приветствовать. Разобраться в LLVM и написать работающий компилятор это безусловно круто и автор молодец. Но практически... Идентификаторы на русском это полезно и понятно. Сообщения компилятора на русском - тоже полезно и понятно. Но КЛЮЧЕВЫЕ СЛОВА... Их не так уж много, можно и запомнить. и они почти одинаковы во всех языках программирования. Если проект предназначен для обучения детей, зачем же их сразу подсаживать на русскоязычные ключевые слова, нигде более не применяемые ??? Если для программистов - русскоязычные ключевые слова будут резать им глаз. В качестве фичи проекта куда полезней был бы работающий лингвистический сервер и плагин для vscode.
P.S. И да, если автор всё-таки хочет чтобы программа на русском выглядела почти естественно, по-моему лучше обратить внимание на Forth. Тут на хабре есть блог ему посвященный. Там возможны например такие определения
: маневр танк башня 60 градусов повернуть ;
А зачем нам эти англицизмы, предлагаю и знаки заменить, скобка открыть, скобка закрыть, плюс, минус, взять в кавычки. Ляпота!
А можно сделать клавиатуру или русскую раскладку, где будут все символы в при работе с русским текстом, и не ограничивать себя древней раскладкой или стандартной клавиатурой.
Обновлённый язык программирования на русском языке, с компилятором даже на телефонах