Перейти к содержимому

Почему нет языка программирования на русском

  • автор:

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

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

Дополнен 12 лет назад
Спасибо никогда не слышал о программе «Глагол» можно по подробней?
Дополнен 12 лет назад

Нихрена в 1с половина на русском половина на английском а после компилятора так вообще всё на англиийском.

Лучший ответ

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

Сардор АкбаровМастер (1201) 12 лет назад

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

Евгений ПалеевГуру (3316) 4 месяца назад

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

Остальные ответы
Это будет считаться национализмом =)
Сардор АкбаровМастер (1201) 12 лет назад
(Я катаюсь под столом) 🙂
Михаил ШульцЗнаток (330) 5 лет назад

Глагол — язык программирования, родственный языкам Паскаль и Оберон. Основное отличие Глагола от Паскаля и Оберона состоит в использовании русских служебных слов.
В комплект поставки, называемый разработками на Глаголе, кроме компилятора (преобразователя Глагола) входит набор математических и системных библиотек, код среды выполнения, выполняющей уборку памяти, небольшие игры и другие примеры приложений в исходных текстах.

Сергей РодовУченик (162) 5 лет назад
вообще-то есть.. . 1С
InQuisitorМыслитель (5602) 12 лет назад
автор — типичный мудак
было бы круто
нада скачать глагол этот

Вообще то на 1С можно писать как полностью на русском, так и на английском. Но можно и в перемежку. И кстати, автор, в 1С компиляции нет как таковой — она Real-Time. Садись, два!

Программа алгоритм, поищи в инете.

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

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

Вот тебе к примеру, русскоязычные: Рапира, Аналитик, Глагол (похож на Паскаль) , РАЯ ну и встроенный язык 1С: Предприятие.

levgeniy79Профи (543) 5 лет назад
Чушь какую-то пишешь про особенность русского языка
Алексей Савчин ДмитриевичЗнаток (272) 5 лет назад

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

Был такой язык. Назывался Алмир-65 (усовершенствованный и русифицированный Алгол-60). В 1975 году я его изучал и пользовался. Использовался язык на первом в мире персональном компьютере МИР-1 (Машина Инженерных Расчетов) . Такая машина была в институте, где учился — МТИИЛП (Московский технологический институт легкой промышленности) .
Подробнее об Алмире

Языков программирования на русском языке очень много:

Дракон — визуальный язык блок-схем. Самые известные проекты — написание ПО для Бурана, МБР Тополь, Морской старт.
Глагол — нечто среднее между компонентным Паскалем и Модулой. Проект активно развивается уже несколько лет, последний релиз от 7.11.2008г.
Лого — язык для обучения программированию детей от самых маленьких до подростков.
Профт 5 — интерпретатор с визуальным интерфейсом. Похож на Visual Basic
Кумир-язык сделан на основе алгоритмического языка преподаваемого в школе. Проект поддерживается министерством образования
Робик — вообще для детского сада (даем команды черепашке, она ползает по экрану)
Рапира — преподавался много лет во многих школах и училищах
Алмир — ?
Акторный пролог — ?
Валентина (интерпретатор)
Coco/R — генератор Компиляторов
Алгоритм 2 — бесплатная программа для создания программ и игр. Сайт разработчиков http://algoritm2.ru/
РС/Б — Си подобный язык
Странник — компилятор Си, Модула, Паскаль с русскими операторами

И это еще не все вспомнил! 🙂
Кстати, загляни на [ссылка заблокирована по решению администрации проекта]
там есть информация по языкам с русским интерфейсом и синтаксисом

Кстати, очень не удобно.
Здесь кому-то на ответах писала программу в КуМире — замучалась раскладку туда-сюда переключать: переменные латинскими буквами, ключевые слова на кириллице.

Русский язык невыразителен? Кто-то явно не знает родного и могучего.
Более выразительного, чёткого и многогранного языка не существует.
Единственная проблема почему языки программирования на английском, так это его примитивизм и лёгкость для изучения иностранцами.
Русский сложен для изучения мировым сообществом и если бы программирование было на великом и могучем, то программисты были бы только в России )))
А если интересно по прогить на русском, то советую попробовать систему программирования КуМир.
Но если бы проги писались на нашем родном, то итоговые системы написанные на русском имели бы большую гибкость, меньше ошибок в коде и т. д.

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

Ronald Thompson

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

Одной из основных особенностей языков программирования является синтаксис. Синтаксис определяет правила написания кода на определенном языке. Различные языки программирования имеют разные синтаксические правила. Некоторые языки, такие как Python, имеют удобочитаемый синтаксис, что делает код более понятным и легким для чтения. Другие языки, такие как C++, имеют более сложный синтаксис, который требует более высокого уровня владения языком.

Еще одной важной особенностью языков программирования является поддержка разных стилей программирования. Некоторые языки, такие как Java, поддерживают объектно-ориентированное программирование (ООП) и функциональное программирование (ФП). Другие языки, такие как C, ориентированы на процедурное программирование. Выбор языка программирования с поддержкой нужного стиля программирования может существенно повлиять на структуру и организацию вашего кода.

Также стоит отметить различные возможности и библиотеки, доступные для разных языков программирования. Некоторые языки, такие как JavaScript, имеют богатые экосистемы библиотек и фреймворков, что делает их очень популярными для разработки веб-приложений. Другие языки, такие как R, специализируются на анализе данных и имеют мощные инструменты для работы с большими объемами информации.

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

Наконец, доступность и поддержка языка программирования также могут быть важными факторами при выборе. Некоторые языки, такие как Java и C#, имеют обширные сообщества разработчиков и обширную документацию, что делает процесс изучения и создания программного обеспечения проще и быстрее. Другие языки, такие как Rust или Go, хоть и более новые, но имеют активные сообщества и высокую степень поддержки, обещая перспективное будущее.

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

Re: Не ужели нет документации на русском языке по программирования в Linux на АССЕМБЛЕРЕ .

А ты хоть сказал бы, на фига тебе писать на ассемблере? Мы бы тебя тогда отговорили от этого отстойнейшего занятия.

vsl
( 19.02.00 18:16:08 MSK )

Re: Не ужели нет документации на русском языке по программирования в Linux на АССЕМБЛЕРЕ .

Зря ты так. Ассемблер используется не так уж редко. Часть ядра написана на ассемблере, очень большая часть GMP написана на асме (чрезвычайно резвая штучка). Если не веришь, то возведи 64байтное число в степень 64байтного числа по модулю на языке высокого уровня (хоть бы на том-же CMUCL’e :p), и сделай то же самое с использованием -lgmp на С. На русском похоже действительно ничего нету, но ты можешь почитать info gcc (inline asm), или info as. Еще вроде бы было ASSEMBLY-HOWTO, там, я думаю есть ссылки на другие ресурсы. Но в основном vsl прав, ПОДАВЛЯЮЩЕЕ большинство задач не требует этого.

timur ★
( 24.02.00 00:34:41 MSK )

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.

Похожие темы

  • Форум Документация к языкам программирования (2015)
  • Форум IDE для программирования на языке ассемблера (2012)
  • Форум Где взять документацию по программированию в Linux на ассемблере . (1999)
  • Форум Язык программирования (2021)
  • Форум Языки программирования (2003)
  • Форум Языки программирования (2006)
  • Форум Языки программирования (2005)
  • Форум Языки программирования (2005)
  • Форум языки программирования (2013)
  • Форум языки программирования (2008)

Компьютерная грамотность с Надеждой

Заполняем пробелы — расширяем горизонты!

Русский язык программирования, а почему бы и нет?

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

p, blockquote 1,0,0,0,0 —>

русский язык программирования

p, blockquote 2,0,0,0,0 —>

Команды в программировании на русском языке

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

p, blockquote 3,0,0,0,0 —>

Как будто никогда не было в русском языке программирования таких команд, как «ЕСЛИ», «ТО», «ИНАЧЕ» вместо «IF», «THEN», «ELSE». Или, например, вместо «GO TO» как будто не было команды «ИДТИ НА», без третьего слова, привычной для российского уха идиомы…

p, blockquote 4,0,0,0,0 —>

Что интересно, русские вычислительные машины понимали не только команду «ИДТИ», но и «ИТТИ», а также «ИЙТИ». Это не связано с неграмотностью разработчиков, которые создавали подобные языки программирования. Это было обусловлено тем, что трансляторы и интерпретаторы русских языков программирования срабатывали на первую букву команды, и уже было неважно, какие символы использовались далее.

p, blockquote 5,0,0,0,0 —>

Русский язык программирования Аналитик

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

p, blockquote 6,0,1,0,0 —>

Например, существовал язык программирования АНАЛИТИК. Он работал на вычислительных машинах МИР не только с численными, но и с аналитическими выражениями. Как видим, название «МИР» использовалось не только для наименования космической станции.

p, blockquote 7,0,0,0,0 —>

Во всех языках программирования используются переменные величины. С помощью переменных, собственно говоря, и появляется возможность программировать. Однако абсолютно во всех языках программирования каждая переменная величина к моменту обработки выражения должна иметь конкретное значение (цифровое, текстовое, логическое и т.п.).

p, blockquote 8,0,0,0,0 —>

Разработчики АНАЛИТИКа сделали иначе. И это больше никто не смог повторить, а именно. Они установили, что в отсутствии значения переменной ее значением становится имя переменной!

p, blockquote 9,0,0,0,0 —>

Например, пусть переменная B равна 2, а значение переменной A не определено. Тогда во всех языках программирования выражение C=A+B автоматически приводит к ошибке в выполнении программы. Но только не в АНАЛИТИКе.

p, blockquote 10,0,0,0,0 —>

В этом «русском» языке программирования такое выражение присваивало переменной C значение (A+2). При этом никакой ошибки не возникало. Программа продолжала работать с подобными аналитическими выражениями.

p, blockquote 11,0,0,0,0 —>

Например, выражение D=C+C присваивало переменной D значение (2*A+4), так как:

p, blockquote 12,0,0,0,0 —>

p, blockquote 13,1,0,0,0 —>

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

  • с раскрытием скобок,
  • без раскрытия скобок,
  • с приведением подобных членов.

Русские команды Интегрировать и Дифференцировать

Также присутствовали команды языка программирования, которые могли вычислять первообразную функции (команда «ИНТЕГРИРОВАТЬ»), и определять производную функции (команда «ДИФФЕРЕНЦИРОВАТЬ»).

p, blockquote 15,0,0,0,0 —>

Скептики скажут, что подобные аналитические вычисления в настоящий момент не сильно востребованы благодаря бурному развитию численных методов. Однако, во-первых, не будем забывать, что это делалось в 1960-е – 1970-е годы, еще на заре кибернетики.

p, blockquote 16,0,0,0,0 —>

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

p, blockquote 17,0,0,0,0 —>

О перспективах

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

p, blockquote 18,0,0,0,0 —>

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

p, blockquote 19,0,0,0,0 —>

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

p, blockquote 20,0,0,1,0 —>

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

p, blockquote 21,0,0,0,0 —>

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

p, blockquote 22,0,0,0,0 —>

Другие интересные материалы:

p, blockquote 23,0,0,0,0 —>

p, blockquote 24,0,0,0,0 —>

p, blockquote 25,0,0,0,0 —>

p, blockquote 26,0,0,0,0 —> p, blockquote 27,0,0,0,1 —>

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

Ronald Thompson

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

Одной из основных особенностей языков программирования является синтаксис. Синтаксис определяет правила написания кода на определенном языке. Различные языки программирования имеют разные синтаксические правила. Некоторые языки, такие как Python, имеют удобочитаемый синтаксис, что делает код более понятным и легким для чтения. Другие языки, такие как C++, имеют более сложный синтаксис, который требует более высокого уровня владения языком.

Еще одной важной особенностью языков программирования является поддержка разных стилей программирования. Некоторые языки, такие как Java, поддерживают объектно-ориентированное программирование (ООП) и функциональное программирование (ФП). Другие языки, такие как C, ориентированы на процедурное программирование. Выбор языка программирования с поддержкой нужного стиля программирования может существенно повлиять на структуру и организацию вашего кода.

Также стоит отметить различные возможности и библиотеки, доступные для разных языков программирования. Некоторые языки, такие как JavaScript, имеют богатые экосистемы библиотек и фреймворков, что делает их очень популярными для разработки веб-приложений. Другие языки, такие как R, специализируются на анализе данных и имеют мощные инструменты для работы с большими объемами информации.

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

Наконец, доступность и поддержка языка программирования также могут быть важными факторами при выборе. Некоторые языки, такие как Java и C#, имеют обширные сообщества разработчиков и обширную документацию, что делает процесс изучения и создания программного обеспечения проще и быстрее. Другие языки, такие как Rust или Go, хоть и более новые, но имеют активные сообщества и высокую степень поддержки, обещая перспективное будущее.

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

Можно ли написать программу на русском языке?

Рубрика странных вопросов. Отвечаем серьёзно: да, можно, но в этом нет большого смысла.

Всё дело в интерпретаторе

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

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

  1. Берём код на русском языке.
  2. Переводим каждую команду обратно в исходный вид в оригинальном языке.
  3. Так делаем с каждой командой.
  4. Получившийся код запускаем с помощью оригинального компилятора или интерпретатора.

Видно, что с таким подходом больше мороки, чем пользы:

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

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

Другой вариант — использовать директивы вроде #define в языке C и C++. Смысл #define в том, что перед компиляцией все слова, которые мы таким образом определили, заменяются на изначальные. И тогда можно написать что-то такое:

#define НЕТ false

#define АНЕТО else

#define ВЫВОД printf

#define ОТДАЛ return

И получится что-то такое (не вдаваясь в подробности):

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

А ещё есть два известных языка программирования, где весь синтаксис изначально реализован на русском: КуМир и язык программирования 1С.

КуМир

КуМир — это сокращение от Комплект Учебных МИРов. Его разработал советский математик Анатолий Кушниренко, но придумал его академик Андрей Ершов.

КуМир — это специальный язык для обучения школьников и студентов, которые до этого не изучали программирование. В КуМире есть исполнители — Робот, Чертёжник, Кукарача и другие. У каждого из этих исполнителей есть свой язык команд, которыми можно ими управлять. Например, Робот может двигать ячейки по полю, а Чертёжник — что-то рисовать на холсте.

Главный плюс КуМира — простота для детей, чтобы им было легче разобраться с основными понятиями. Например, ЭТО Бегемот задаёт переменную «Бегемот», ПОВТОРИ — это цикл, а « ЭТО…КОНЕЦ » позволяет организовать функцию.

Можно ли написать программу на русском языке?

Ещё есть обычные команды языка, не привязанные к исполнителю — они похожи на команды JavaScript, которые мы использовали для простых консольных проектов. Например, можно организовывать циклы, работать с массивами, запрашивать и вводить числа и писать почти полноценный алгоритмический код.

Можно ли написать программу на русском языке?

Язык программирования 1С

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

С простыми программами всё понятно:

Процедура ПриветМир() Сообщить("Привет, мир! Это журнал Код!"); КонецПроцедуры

Но если нам нужно что-то более сложное, начинается программистский ад: команды — это существительные, прилагательные и глаголы на русском языке, которые пишутся слитно и с больших букв в середине. При этом язык 1С — полноценный язык программирования высокого уровня, с ООП, классами и динамической типизацией. Например, вот фрагмент программы, которая формирует отчёт для бухгалтера:

&НаСервере Процедура СформироватьНаСервере() ТабДок = Новый ТабличныйДокумент; ДатаС = ПериодОтчета.ДатаНачала; ДатаПо = ПериодОтчета.ДатаОкончания; Выборка = Документы.СчетФактураВыданный.Выбрать(ДатаС, ДатаПо, , "Дата"); ЭтотОтчет = РеквизитФормыВЗначение("Отчет"); Макет = ЭтотОтчет.ПолучитьМакет("Реестр"); ОбластьШапка = Макет.ПолучитьОбласть("Шапка"); ТабДок.Вывести(ОбластьШапка); ОбластьСтрока = Макет.ПолучитьОбласть("Строка"); Пока Выборка.Следующий() Цикл Если ЗначениеЗаполнено(Организация) И Выборка.Организация <> Организация Тогда Продолжить; КонецЕсли; ОбластьСтрока.Параметры.Дата = Выборка.Дата; ОбластьСтрока.Параметры.Номер = Выборка.Номер; ОбластьСтрока.Параметры.Контрагент = Выборка.Контрагент; ОбластьСтрока.Параметры.Сумма = Выборка.Сумма; ТабДок.Вывести(ОбластьСтрока); КонецЦикла; ПолеОтчета = ТабДок; КонецПроцедуры

А можно просто рассказать компьютеру по-русски, что нужно сделать?

Можно, но компьютер ничего не сделает.

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

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

Компьютерная грамотность с Надеждой

Заполняем пробелы — расширяем горизонты!

Русский язык программирования, а почему бы и нет?

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

p, blockquote 1,0,0,0,0 —>

русский язык программирования

p, blockquote 2,0,0,0,0 —>

Команды в программировании на русском языке

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

p, blockquote 3,0,0,0,0 —>

Как будто никогда не было в русском языке программирования таких команд, как «ЕСЛИ», «ТО», «ИНАЧЕ» вместо «IF», «THEN», «ELSE». Или, например, вместо «GO TO» как будто не было команды «ИДТИ НА», без третьего слова, привычной для российского уха идиомы…

p, blockquote 4,0,0,0,0 —>

Что интересно, русские вычислительные машины понимали не только команду «ИДТИ», но и «ИТТИ», а также «ИЙТИ». Это не связано с неграмотностью разработчиков, которые создавали подобные языки программирования. Это было обусловлено тем, что трансляторы и интерпретаторы русских языков программирования срабатывали на первую букву команды, и уже было неважно, какие символы использовались далее.

p, blockquote 5,0,0,0,0 —>

Русский язык программирования Аналитик

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

p, blockquote 6,0,1,0,0 —>

Например, существовал язык программирования АНАЛИТИК. Он работал на вычислительных машинах МИР не только с численными, но и с аналитическими выражениями. Как видим, название «МИР» использовалось не только для наименования космической станции.

p, blockquote 7,0,0,0,0 —>

Во всех языках программирования используются переменные величины. С помощью переменных, собственно говоря, и появляется возможность программировать. Однако абсолютно во всех языках программирования каждая переменная величина к моменту обработки выражения должна иметь конкретное значение (цифровое, текстовое, логическое и т.п.).

p, blockquote 8,0,0,0,0 —>

Разработчики АНАЛИТИКа сделали иначе. И это больше никто не смог повторить, а именно. Они установили, что в отсутствии значения переменной ее значением становится имя переменной!

p, blockquote 9,0,0,0,0 —>

Например, пусть переменная B равна 2, а значение переменной A не определено. Тогда во всех языках программирования выражение C=A+B автоматически приводит к ошибке в выполнении программы. Но только не в АНАЛИТИКе.

p, blockquote 10,0,0,0,0 —>

В этом «русском» языке программирования такое выражение присваивало переменной C значение (A+2). При этом никакой ошибки не возникало. Программа продолжала работать с подобными аналитическими выражениями.

p, blockquote 11,0,0,0,0 —>

Например, выражение D=C+C присваивало переменной D значение (2*A+4), так как:

p, blockquote 12,0,0,0,0 —>

p, blockquote 13,1,0,0,0 —>

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

  • с раскрытием скобок,
  • без раскрытия скобок,
  • с приведением подобных членов.

Русские команды Интегрировать и Дифференцировать

Также присутствовали команды языка программирования, которые могли вычислять первообразную функции (команда «ИНТЕГРИРОВАТЬ»), и определять производную функции (команда «ДИФФЕРЕНЦИРОВАТЬ»).

p, blockquote 15,0,0,0,0 —>

Скептики скажут, что подобные аналитические вычисления в настоящий момент не сильно востребованы благодаря бурному развитию численных методов. Однако, во-первых, не будем забывать, что это делалось в 1960-е – 1970-е годы, еще на заре кибернетики.

p, blockquote 16,0,0,0,0 —>

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

p, blockquote 17,0,0,0,0 —>

О перспективах

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

p, blockquote 18,0,0,0,0 —>

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

p, blockquote 19,0,0,0,0 —>

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

p, blockquote 20,0,0,1,0 —>

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

p, blockquote 21,0,0,0,0 —>

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

p, blockquote 22,0,0,0,0 —>

Другие интересные материалы:

p, blockquote 23,0,0,0,0 —>

p, blockquote 24,0,0,0,0 —>

p, blockquote 25,0,0,0,0 —>

p, blockquote 26,0,0,0,0 —> p, blockquote 27,0,0,0,1 —>

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

Судя по результатам голосований (на compiler.su и даже здесь на Хабре) идею программирования на русском поддерживает не так уж и мало людей.

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

Язык 1С: Предприятия

Несмотря на то, что это самый популярный язык программирования с русскоязычным синтаксисом, я его рассматривать не буду, дабы не разводить холивар. По аналогичной причине я не буду рассматривать OneScript и Перфолента.Net (последний хотя и является самостоятельным языком программирования, но его синтаксис основан на встроенном языке 1С: Предприятия).

1C: Исполнитель

Какая-то странная смесь C# [ с его Console.Write() ] , Java [ var obj = new Object() ] и наверное Julia [ с ; вместо end ] .

Также, судя по всему, разработчики 1С: Исполнитель вдохновлялись Scala/Kotlin , выбрав ключевое слово знч для неизменяемых переменных. ИМХО, слово пост подошло бы лучше ( конст уже занято).

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

Выбор ключевого слова метод \ method для объявления функций также вызывает вопросы.

Впрочем, есть и хорошие решения, которые вопросов не вызывают. Например, создание массива записью [1, 2, 3] , множества записью и соответствия (то бишь «словаря») записью . Совсем как в Python.

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

КуМир

Уже исходя из названия (Комплект Учебных МИРов) понятно, что область применения данного языка ограничена обучением. А это, как я считаю, тупиковый путь. Мало кто захочет серьёзно изучать язык, который кроме обучения программированию, ни для чего не пригоден/не используется.

Однако некоторые идеи и решения, принятые в КуМир-е, можно позаимствовать. Например то, что математические функции в нём оставлены на английском (sqrt, sin, abs, min, max и т.д.). И я считаю это вполне оправданным. На уроках математики мы же пишем sin x и ничего.

Компилятор C++ от Интерстрон

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

Глагол

  • «вид», а не «тип»;
  • «ряд», а не «массив»;
  • «задача», а не «процедура»/«функция»;
  • «отдел», а не «модуль»;
  • «ячцел», а не «байт»;
  • «знак», а не «символ»;
  • «кольцо», а не «цикл»/«повтор».

Общепринятые – это те, которые я читаю в книгах, в том числе по программированию. Когда читаю «байт», мне всё понятно. Это общепринятое. Когда я прочитаю «запись размером 40 слогов» — я буду долго размышлять. А вот «файл размером 40 байтов» — мне сразу понятно, да и Вам тоже. Да, там заимствованные слова, но не я их заимствовал и не я их глубоко внедрил в наш язык. Чтобы быть понятым, я вынужден их использовать.

RuSL

  • Для объявления переменных используется нетрадиционное ключевое слово изм .
  • Нет поддержки целых чисел (все числа вещественные).
  • Операторы присваивания += , -= и т.д. записываются в обратном порядке (т.е. =+ , =- и т.д.). Особенно забавно получается с записью n=-n , которая работает не как n = -n , а как n-=n , т.е. n = n — n :)(:
  • Для стандартных функций input() и print() был выбран перевод ввести() и вывести() вместо более привычного ввод() и вывод() .

11l

Семантика 11l берёт за основу язык Python (самый популярный язык программирования на данный момент [ согласно рейтингам TIOBE, PYPL, IEEE Spectrum ] ), а синтаксис разработан/спроектирован с учётом когнитивно-эргономического подхода таким образом, что забыть его [ синтаксис 11l ] практически невозможно (особенно если это первый изучаемый язык программирования).

Для перевода названия метода map в 11l было выбрано слово применить , т.к. как сказано в Википедии «в функциональной форме map часто называется «применить-ко-всем»«.

Также слово «применяет»/«применение» используется в различных описаниях функции `map()` в Python

pyneng.readthedocs.io/ru/latest/book/10_useful_functions/map.html:
Функция map применяет функцию к каждому элементу последовательности и возвращает итератор с результатами.

Использование функции map в Python:
Встроенная в Python функция map() используется для применения функции к каждому элементу итерируемого объекта

pythonist.ru/python-map-znakomstvo:
map() перебирает элементы итерируемого массива (или коллекции) и возвращает новый массив (или итерируемый объект), который является результатом применения функции преобразования к каждому элементу

Для бросания исключения в 11l используется слово исключение по аналогии с переводом ключевого слова throw Евгением Зуевым. Ключевые подслова исключение.контроль и исключение.перехват также взяты из перевода Зуева.

Для числовых типов используются вполне общепринятые (принятые в том числе в языке РАЯ) названия Цел и Вещ .

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

Вот примеры решения задач на русском 11l
Задача ‘Mocha и прогулка’ (на основе этого решения):

цикл 1..Цел(ввод()) пер n = Цел(ввод()) пер a = ввод().разделить(‘ ’).применить(Цел) пер ответ = (0 . < n).применить(н ->н + 1) // можно сократить до `пер ответ = Массив(1..n)` если a.послед == 0 вывод_эл(ответ [+] (n + 1)) иначе цикл(н) 0 .< a.длина если a[н] == 1 вывод_эл(ответ[0. 

Задача ‘Запрещённая подпоследовательность’ (на основе этого решения):

цикл 1..Цел(ввод()) пер s = ввод() пер t = ввод() s = сортй(Массив(s)).соединить(‘’) если t == ‘abc’ & (‘a’ св s) & (‘b’ св s) & (‘c’ св s) s = s[0 .< s.найти_и(‘b’)]‘’(‘c’ * s.колво(‘c’))‘’(‘b’ * s.колво(‘b’))‘’s[s.об_найти_и(‘c’) + 1 ..] вывод(s) 

Задача ‘Задача на доске’ (на основе этого решения):

цикл 1..Цел(ввод()) пер s = ввод() пер m = Цел(ввод()) пер b = ввод().разделить(‘ ’).применить(Цел) пер массив = сортй(Массив(Множество(Массив(s)))) пер ответ = [Символ("\0")] * m // как в Python (1-ый вариант решения) //пер ответ = "\0" * m // только в 11l (2-ой вариант решения) цикл сумма(b) != -m Множество[Цел] индексы цикл(i) 0 .< m если b[i] == 0 индексы.доб(i) b[i] = -1 цикл пер q = массив.извлечь() если индексы.длина  

Кроме того, 11l поставляется со скриптом, который переводит код на русском в код на английском (в том числе переводит имена общеупотребимых переменных).

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

ввод n; S:=0 

А также в русских текстах задач по программированию используются английские/латинские буквы:

codeforces.com/contest/1559/problem/C?locale=ru:
В первой строке находится одно целое число t .
Первая строка набора входных данных содержит одно целое число n

И аналогично в книгах:

habr.com/ru/post/667022:
Напечатайте все возрастающие последовательности длины k, элементами которых являются натуральные числа от 1 до n.

На этом у меня всё. Спасибо за внимание.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *