Страница 1 из 1

Алексей Недоря: "я хочу писать программный код на русском языке"

Добавлено: 13.03.20 12:29
БудДен
http://digital-economy.ru/stati/kompone ... ukh-yazyka
Я хочу писать программный код на русском языке. Просто потому, что думаю я на русском.
Необходимость выражения мысли на английском (для обычных языков программирования)
приводит к потере эффективности.

Английский бывает удобнее, как ни странно тем, что он не родной. Используешь какое-то слово,
как Шалтай-Болтай:
— Когда я беру слово, оно означает то, что я хочу, не больше и не меньше, — сказал
Шалтай презрительно.
— Вопрос в том, подчинится ли оно вам, — сказала Алиса.
И в этом заключается подвох, потому что для других это слово может означать не совсем то же
самое или совсем не то же самое. Замечу, говоря про русский язык, я имею в виду русские имена (идентификаторы). Именно они
должны быть обязательно на русском. Что же касается ключевых слов – то это «иероглифы»,
которые могут быть записаны на любом языке, лишь бы они сразу были понятны.

Например, я не вижу смысла переводить nil (или null) или div на русский

...

Понятные идентификаторы - это ключевой вопрос для увеличения читабельности и упрощения понимания текста. Все
извращения в способе записи идентификаторов, вроде: CompileModule или compile_module – это
всего лишь костыли, читать которые трудно. Я хочу писать имена привычным образом, с пробелами и использованием любых знаков:
Примеры понятных идентификаторов:
  • * Заменить все вхождения значка в строке
    * Компилировать модуль
    * Существует файл?
В Вир/а1 используется простое решение – так как в Юникоде много парных кавычек, одна пара
выделяется для идентификаторов: «Заменить все вхождения значка в строке», и т.п.

Без кавычек в Вир/а1 можно писать простые идентификаторы (без пробела).

Re: Алексей Недоря: "я хочу писать программный код на русском языке"

Добавлено: 13.03.20 12:38
Лис [Вежливый]
Основные и очевидные требования:
1) Язык должен поддерживать надежное взаимодействие между независимо написанными
компонентами
2) Мультиплатформенность: Язык должен позволять делать программы, которые работают
на всех (большинстве) современных устройствах/операционных системах.
3) Простота и гибкость: Язык должен быть предельно простым (as simple as possible, but not
simpler) и легко изменяемым.
Добавлю еще требования, которые считаю обязательными, но которые могут быть спорными для
других:
4) Разработку языка надо вести с нуля (а не дорабатывать какой-то из существующих языков)
5) Язык не должен использовать сборку мусора (No GC)
6) Компилятор должен порождать нативный код (No VM)
7) Компилятор и RTS должны позволять (достаточно легко) использовать код, написанный на
других языках, как минимум, на Си.
Нет требований обработки падежей и всякой прочей русскости. Лис не поддерживает. Ну, то есть, пусть, конечно, прорастают сто сорняков, но...
За пределами статьи оставлен:
синтаксис и
семантика конструкций языка,
подход к управлению памятью (включая владение памятью, локальное для компоненты и локальное для нитки (thread)
управление памятью,
и многое другое).
Ясно...

Недоря А.Е. «Вир» // заметки в блоге http://алексейнедоря.рф/?cat=13

Re: Алексей Недоря: "я хочу писать программный код на русском языке"

Добавлено: 13.03.20 13:44
БудДен
В посте показан путь поддержки русскости - использовать целые предложения в качестве идентификаторов.

Re: Алексей Недоря: "я хочу писать программный код на русском языке"

Добавлено: 13.03.20 17:45
MihalNik
БудДен писал(а):
13.03.20 12:29
В Вир/а1 используется простое решение – так как в Юникоде много парных кавычек, одна пара
выделяется для идентификаторов: «Заменить все вхождения значка в строке», и т.п.
Т.е. нет той ошибки, что у Utkin'a в В-2. Хотя может все дело было в виде кавычек и юникодными В-2 бы смогла? А мы Utkin'a уже распугали.
БудДен писал(а):
13.03.20 13:44
В посте показан путь поддержки русскости - использовать целые предложения в качестве идентификаторов.
В Концепте так давно можно, но там не кавычки, насколько помнится, а квадратные скобки, которых в русском языке нет.
4) Разработку языка надо вести с нуля (а не дорабатывать какой-то из существующих языков)
5) Язык не должен использовать сборку мусора (No GC)
6) Компилятор должен порождать нативный код (No VM)
7) Компилятор и RTS должны позволять (достаточно легко) использовать код, написанный на
других языках, как минимум, на Си.
Возможны глубокие внутренние противоречия.

Re: Алексей Недоря: "я хочу писать программный код на русском языке"

Добавлено: 13.03.20 18:31
БудДен
Т.е. нет той ошибки, что у Utkin'a в В-2. Хотя может все дело было в виде кавычек и юникодными В-2 бы смогла? А мы Utkin'a уже распугали.
В посте показан путь поддержки русскости - использовать целые предложения в качестве идентификаторов.
В Концепте так давно можно, но там не кавычки, насколько помнится, а квадратные скобки, которых в русском языке нет.
Конкретно отсюда Уткина никто не распугивал, но он почему-то сюда сам не приходил ни разу.
Так можно в SQL, Common Lisp и в какой-то степени - в tcl и bash.

Re: Алексей Недоря: "я хочу писать программный код на русском языке"

Добавлено: 14.03.20 10:33
Лис [Вежливый]
Конкретно отсюда Уткина никто не распугивал, но он
почему-то сюда сам не приходил ни разу.
Итак мы пришли к противоречию. Значит исходный постулат "не распугивали" неверен.